CameraContent-2-3-1.vue 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <template>
  2. <div class="camera-content-1-1">
  3. <button
  4. class="return"
  5. @click="emit('close')"
  6. />
  7. <h1>造福百姓</h1>
  8. <div class="content-wrap">
  9. <div class="left">
  10. <h2 class="one">
  11. {{ currentSwitchIdx== 0 ? '大运河给大都百姓生活带来的便利' :'运河商船的主要货物' }}
  12. </h2>
  13. <p class="one text-indent">
  14. {{ currentSwitchIdx == 0 ? '至元三十年(1293)通惠河工程完成后,漕船可以经通惠河入大都南城垣,沿皇城东垣外,过今地安门桥(万宁桥)下,停泊在积水潭内。因此,当时积水潭的东岸、北岸是元大都城内非常繁华的商业区,如鼓楼的斜街市、海子桥等都是市场。' :'水路的畅通,使得元代景德镇等地的瓷器可以比较便利地通过水路运至大都。在元大都遗址的居民区中,来自全国各地的数以万计的瓷片被发掘出土,未曾来得及带走便匆匆掩埋的元代窖藏中还遗留着精美的元代青花瓷器。在元大都所发现的瓷器之中又以磁州窑、景德镇窑、钧窑、龙泉窑的产品最为丰富。这些被考古学重新赋予生命的器物,使那段逝去的历史复活,我们似乎还听得见大都城内市井的喧闹、诗人的吟唱,闻得到茶、酒的醇香。' }}
  15. </p>
  16. </div>
  17. <div
  18. v-if="currentSwitchIdx == 1"
  19. class="right"
  20. >
  21. <!-- <img
  22. v-if="currentSwitchIdx == 0"
  23. class=""
  24. src="@/assets/images/camera-content-2-3-1-img.png"
  25. alt=""
  26. draggable="false"
  27. > -->
  28. <img
  29. class=""
  30. :style="{width: 'auto'}"
  31. src="@/assets/images/camera-content-2-3-1-img-2.png"
  32. alt=""
  33. draggable="false"
  34. >
  35. </div>
  36. <div
  37. class="next-btn"
  38. @click="() => {
  39. currentSwitchIdx == 0 ? currentSwitchIdx += 1 : currentSwitchIdx -= 1
  40. }"
  41. >
  42. <span>{{ currentSwitchIdx == 0 ? '下一页' : '上一页' }}</span>
  43. </div>
  44. </div>
  45. </div>
  46. </template>
  47. <script setup>
  48. import { ref } from "vue"
  49. const {
  50. windowSizeInCssForRef,
  51. windowSizeWhenDesignForRef,
  52. } = useSizeAdapt(1920, 970)
  53. const emit = defineEmits(['close'])
  54. const currentSwitchIdx = ref(0)
  55. </script>
  56. <style lang="less" scoped>
  57. @page-height-design-px: 970;
  58. .camera-content-1-1{
  59. position: absolute;
  60. left: 0;
  61. top: 0;
  62. width: 100%;
  63. height: 100%;
  64. background: rgba(0,0,0,0.45);
  65. backdrop-filter: blur(60px);
  66. >button.return{
  67. position: absolute;
  68. width: 58px;
  69. height: 58px;
  70. left: 42px;
  71. top: 68px;
  72. background-image: url(@/assets/images/btn-return.png);
  73. background-size: contain;
  74. background-repeat: no-repeat;
  75. background-position: center center;
  76. }
  77. >h1 {
  78. position: absolute;
  79. left: 0;
  80. top: calc(100 / @page-height-design-px * 100vh);
  81. width: 100%;
  82. height: calc(120 / @page-height-design-px * 100vh);
  83. background-image: url(@/assets/images/camera-content-2-1-1-title-bg.png);
  84. background-size: auto 100%;
  85. background-repeat: no-repeat;
  86. background-position: center center;
  87. font-size: calc(32 / @page-height-design-px * 100vh);
  88. font-family: "Source Han Serif CN Heavy";
  89. color: #514418;
  90. line-height: calc(35 / @page-height-design-px * 100vh);
  91. display: flex;
  92. justify-content: center;
  93. align-items: center;
  94. z-index: 1;
  95. }
  96. >.content-wrap{
  97. position: absolute;
  98. left: 50%;
  99. top: 54%;
  100. width: 100%;
  101. // width: calc(1920 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  102. height: calc(723 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  103. transform: translate(-50%, -50%);
  104. background-image: url(@/assets/images/camera-content-2-1-1-design-bg.png);
  105. background-size: cover;
  106. background-repeat: no-repeat;
  107. background-position: center center;
  108. display: flex;
  109. justify-content: space-evenly;
  110. align-items: center;
  111. >.left{
  112. flex: 0 0 auto;
  113. width: calc(818 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  114. height: calc(438 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  115. >h2{
  116. width: calc(616 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  117. height: calc(62 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  118. font-size: calc(28 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  119. font-family: "SourceHanSerifCN-SemiBold";
  120. color: #6A3906;
  121. letter-spacing: calc(5 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  122. background-image: url(@/assets/images/camera-content-1-1-3-title-bg.png);
  123. background-size: contain;
  124. background-repeat: no-repeat;
  125. background-position: center center;
  126. display: flex;
  127. align-items: center;
  128. padding-left: calc(72 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  129. margin-bottom: calc(15 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  130. }
  131. >p{
  132. font-size: calc(20 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  133. // font-family: Source Han Sans CN, Source Han Sans CN;
  134. font-weight: 300;
  135. color: #000000;
  136. line-height: 30px;
  137. // letter-spacing: calc(8 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  138. }
  139. >p.one{
  140. margin-bottom: calc(50 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  141. }
  142. }
  143. >.right{
  144. flex-shrink: 0;
  145. position: relative;
  146. width: 788px;
  147. height: calc(387 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  148. background: rgba(145,129,117,0.25);
  149. border: 1px solid #FFE88B;
  150. padding: calc(25 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  151. box-sizing: border-box;
  152. display: flex;
  153. justify-content: center;
  154. align-items: center;
  155. >img{
  156. width: calc(726 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  157. }
  158. }
  159. >.next-btn {
  160. width: calc(150 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  161. height: calc(50 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  162. position: absolute;
  163. background: url(@/assets/images/CameraContent-2-1-1-next-btn.png);
  164. background-size: cover;
  165. right: calc(245 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  166. bottom: calc(69 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  167. display: flex;
  168. justify-content: center;
  169. align-items: center;
  170. cursor: pointer;
  171. >span {
  172. font-size: 16px;
  173. color: #6A3906;
  174. font-family: 'SourceHanSerifCN-Heavy';
  175. margin-left: -20px;
  176. }
  177. }
  178. }
  179. }
  180. </style>