03.vue 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <template>
  2. <div class="other" v-show="ifShow">
  3. <div class="one" v-if="index === 1">
  4. <div class="left">
  5. Line 1
  6. </div>
  7. <div class="top">
  8. Line 1
  9. </div>
  10. </div>
  11. <div v-if="index === 2">
  12. <div class="top">
  13. Line 2
  14. </div>
  15. </div>
  16. <div v-if="index === 3">
  17. <div class="top">
  18. Line 3
  19. </div>
  20. </div>
  21. <div v-if="index === 4">
  22. <div class="top">
  23. Line 4
  24. </div>
  25. <div class="right">
  26. Line 5
  27. </div>
  28. </div>
  29. <div v-if="index === 5">
  30. <div class="left">
  31. Line 2
  32. </div>
  33. </div>
  34. <div v-if="index === 9">
  35. <div class="left">
  36. Line 3
  37. </div>
  38. </div>
  39. <div v-if="index === 13">
  40. <div class="left">
  41. Line 4
  42. </div>
  43. <div class="bottom">
  44. Line 6
  45. </div>
  46. </div>
  47. </div>
  48. </template>
  49. <script>
  50. export default {
  51. props: {
  52. ifShow: Boolean,
  53. index: Number
  54. }
  55. };
  56. </script>
  57. <style lang="less">
  58. .other {
  59. position: absolute;
  60. z-index: 11;
  61. top: 0;
  62. right: 0;
  63. bottom: 0;
  64. left: 0;
  65. & > div {
  66. position: relative;
  67. & > div {
  68. position: absolute;
  69. }
  70. .top {
  71. top: -50px;
  72. left: -20px;
  73. }
  74. .left {
  75. top: -10px;
  76. left: -75px;
  77. }
  78. .bottom {
  79. top: 89px;
  80. left: -75px;
  81. }
  82. .right {
  83. top: -50px;
  84. right: -19px;
  85. width: 45px;
  86. }
  87. }
  88. }
  89. </style>