DemoBlock.vue 936 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <template>
  2. <view class="zebra-doc-demo-block">
  3. <view v-if="title" class="zebra-doc-demo-block__title">{{ title }}</view>
  4. <view v-if="card" class="zebra-doc-demo-block__card">
  5. <slot />
  6. </view>
  7. <slot v-else />
  8. </view>
  9. </template>
  10. <script>
  11. export default {
  12. name: "demo-block",
  13. props: {
  14. card: {
  15. type: Boolean,
  16. default: true,
  17. },
  18. title: String,
  19. },
  20. };
  21. </script>
  22. <style lang="scss">
  23. @import "../../common/style/var";
  24. .zebra-doc-demo-block {
  25. margin: 30rpx;
  26. border-radius: 10rpx;
  27. overflow: hidden;
  28. background: #e4ebf5;
  29. box-shadow: 10rpx 10rpx 20rpx #cbd1da, -10rpx -10rpx 20rpx #fdffff;
  30. &__title {
  31. margin: 0;
  32. padding: 30rpx;
  33. color: $zebra-doc-text-light-blue;
  34. font-weight: normal;
  35. font-size: 28rpx;
  36. line-height: 32rpx;
  37. border-bottom: 2rpx solid $zebra-doc-background-color;
  38. }
  39. &__card {
  40. padding: 30rpx;
  41. }
  42. &__title+&__card {
  43. margin-top: 0;
  44. }
  45. }
  46. </style>