HotspotDetail1.vue 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. <template>
  2. <div class="hotspot-detail-1">
  3. <div class="bg-mask" />
  4. <div class="row row-1">
  5. <div class="text">
  6. <h3>
  7. {{ craftInfo[3].title }}
  8. </h3>
  9. <p>
  10. {{ craftInfo[3].desc }}
  11. </p>
  12. </div>
  13. <div class="image">
  14. <img
  15. class=""
  16. :src="`${$env.BASE_URL}configMultiMedia/${craftInfo[3].title}.png`"
  17. alt=""
  18. draggable="false"
  19. >
  20. </div>
  21. </div>
  22. <div class="row row-2">
  23. <div class="text">
  24. <h3>
  25. {{ craftInfo[4].title }}
  26. </h3>
  27. <p>
  28. {{ craftInfo[4].desc }}
  29. </p>
  30. </div>
  31. <div class="image">
  32. <img
  33. class=""
  34. :src="`${$env.BASE_URL}configMultiMedia/${craftInfo[4].title}.png`"
  35. alt=""
  36. draggable="false"
  37. >
  38. </div>
  39. </div>
  40. <div class="row row-3">
  41. <div class="text">
  42. <h3>
  43. {{ craftInfo[5].title }}
  44. </h3>
  45. <p>
  46. {{ craftInfo[5].desc }}
  47. </p>
  48. </div>
  49. <div class="image">
  50. <img
  51. class=""
  52. :src="`${$env.BASE_URL}configMultiMedia/${craftInfo[5].title}.png`"
  53. alt=""
  54. draggable="false"
  55. >
  56. </div>
  57. </div>
  58. <BtnBack
  59. @click="emit('close')"
  60. />
  61. </div>
  62. </template>
  63. <script setup>
  64. import { ref, computed, watch, onMounted, inject } from "vue"
  65. import { useRoute, useRouter } from "vue-router"
  66. import { useStore } from "vuex"
  67. import useSizeAdapt from "@/useFunctions/useSizeAdapt"
  68. const {
  69. windowSizeInCssForRef,
  70. windowSizeWhenDesignForRef,
  71. } = useSizeAdapt()
  72. const route = useRoute()
  73. const router = useRouter()
  74. const store = useStore()
  75. const $env = inject('$env')
  76. const emit = defineEmits(['close'])
  77. const craftInfo = configText.craft
  78. </script>
  79. <style lang="less" scoped>
  80. .hotspot-detail-1{
  81. position: absolute;
  82. left: 0;
  83. top: 0;
  84. width: 100%;
  85. height: 100%;
  86. background-image: url(@/assets/images/home-painting-line-small.jpg);
  87. background-size: cover;
  88. background-repeat: no-repeat;
  89. background-position: center center;
  90. display: flex;
  91. flex-direction: column;
  92. justify-content: space-evenly;
  93. >.bg-mask{
  94. position: absolute;
  95. left: 0;
  96. top: 0;
  97. width: 100%;
  98. height: 100%;
  99. background-color: rgba(48, 74, 56, 0.70);
  100. backdrop-filter: blur(calc(5 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef')));
  101. z-index: -1;
  102. }
  103. >.row{
  104. display: flex;
  105. justify-content: center;
  106. align-items: center;
  107. gap: calc(17 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  108. >.text{
  109. width: calc(170 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  110. >h3{
  111. font-family: KaiTi, KaiTi;
  112. font-weight: 400;
  113. font-size: calc(20 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  114. color: #FFFFFF;
  115. line-height: calc(23 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  116. margin-bottom: calc(11 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  117. text-align: end;
  118. }
  119. >p{
  120. font-family: KaiTi, KaiTi;
  121. font-weight: 400;
  122. font-size: calc(14 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  123. color: rgba(255, 255, 255, 0.8);
  124. line-height: 1.3;
  125. text-align: justify;
  126. }
  127. }
  128. >.image{
  129. flex: 0 0 auto;
  130. width: calc(159 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  131. height: calc(159 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  132. border-radius: 50%;
  133. border: 1px solid #FFFFFF;
  134. display: flex;
  135. justify-content: center;
  136. align-items: center;
  137. >img{
  138. width: calc(131 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  139. height: calc(131 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  140. border-radius: 50%;
  141. }
  142. }
  143. }
  144. >.row-1{
  145. flex-direction: row-reverse
  146. }
  147. >.row-3{
  148. flex-direction: row-reverse
  149. }
  150. }
  151. </style>