HotspotDetail1 copy.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  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 }}666
  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. color="green"
  60. @click="emit('close')"
  61. />
  62. </div>
  63. </template>
  64. <script setup>
  65. import { ref, computed, watch, onMounted, inject } from "vue"
  66. import { useRoute, useRouter } from "vue-router"
  67. import { useStore } from "vuex"
  68. import useSizeAdapt from "@/useFunctions/useSizeAdapt"
  69. const {
  70. windowSizeInCssForRef,
  71. windowSizeWhenDesignForRef,
  72. } = useSizeAdapt()
  73. const route = useRoute()
  74. const router = useRouter()
  75. const store = useStore()
  76. const $env = inject('$env')
  77. const emit = defineEmits(['close'])
  78. const craftInfo = configText.craft
  79. </script>
  80. <style lang="less" scoped>
  81. .hotspot-detail-1{
  82. position: absolute;
  83. left: 0;
  84. top: 0;
  85. width: 100%;
  86. height: 100%;
  87. background-image: url(@/assets/images/home-painting-line-small.jpg);
  88. background-size: cover;
  89. background-repeat: no-repeat;
  90. background-position: center center;
  91. display: flex;
  92. flex-direction: column;
  93. justify-content: space-evenly;
  94. >.bg-mask{
  95. position: absolute;
  96. left: 0;
  97. top: 0;
  98. width: 100%;
  99. height: 100%;
  100. background-color: rgba(48, 74, 56, 0.70);
  101. backdrop-filter: blur(calc(5 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef')));
  102. z-index: -1;
  103. }
  104. >.row{
  105. display: flex;
  106. justify-content: center;
  107. align-items: center;
  108. gap: calc(17 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  109. >.text{
  110. width: calc(170 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  111. >h3{
  112. font-family: KaiTi, KaiTi;
  113. font-weight: 400;
  114. font-size: calc(20 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  115. color: #FFFFFF;
  116. line-height: calc(23 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  117. margin-bottom: calc(11 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  118. text-align: end;
  119. }
  120. >p{
  121. font-family: KaiTi, KaiTi;
  122. font-weight: 400;
  123. font-size: calc(14 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  124. color: rgba(255, 255, 255, 0.8);
  125. line-height: 1.3;
  126. text-align: justify;
  127. }
  128. }
  129. >.image{
  130. flex: 0 0 auto;
  131. width: calc(159 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  132. height: calc(159 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  133. border-radius: 50%;
  134. border: 1px solid #FFFFFF;
  135. display: flex;
  136. justify-content: center;
  137. align-items: center;
  138. >img{
  139. width: calc(131 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  140. height: calc(131 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  141. border-radius: 50%;
  142. }
  143. }
  144. }
  145. >.row-1{
  146. flex-direction: row-reverse
  147. }
  148. >.row-3{
  149. flex-direction: row-reverse
  150. }
  151. }
  152. </style>