CameraContent-3-1-3.vue 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. <template>
  2. <div class="camera-content-1-1">
  3. <button
  4. class="return"
  5. @click="emit('close')"
  6. />
  7. <h1>{{ title }}</h1>
  8. <div class="content-wrap">
  9. <div
  10. class="design-wrap"
  11. >
  12. <div class="design-wrap-left">
  13. <div class="left-title">
  14. 雅集现场的百工精巧
  15. </div>
  16. <div class="left-text">
  17. <strong>(1)元代漆器</strong><br>
  18. 从文献记载和出土实物看,元代内府也使用漆器,这类漆器可能是在武昌、嘉兴、杭州等地的官府作坊中生产的。元代漆器的生产,主要集中在南方地区,尤以嘉兴最为知名,元初就曾在此设置漆作局,著名的元代漆工彭君宝、张成、杨茂也都是此地人。元代漆器品类不少,其中螺钿、雕漆都取得了很高成就,最常见的则属色髹器。<br>
  19. <strong>(2)元代服饰</strong><br>
  20. 元朝是中国纺织业发展的重要阶段。一方面,棉纺织业已经相当发达,普遍改变了传统以麻布为衣着原料的习惯;另一方面,适应蒙古贵族审美需要得以发展的织金等纺织技术,将元朝高级的纺织品装饰得别具特色、富丽堂皇。可以说在元代织物中,织金锦也就是“纳石失”这样一种以金线织花的丝绸最得青睐,也最具影响。<br>
  21. <strong>(3)元代玉器 </strong><br>
  22. <strong>(4)元代砚台</strong><br>
  23. <strong>(5)元代笔架</strong><br>
  24. <strong>(6)元代金银器</strong><br>
  25. 元代使用黄金的风气之盛,旷古未有。统治集团的帐幕、宫室、衣饰、器用无不用金,甚至以金做大酒瓮、以银为马槽。来到中国游历的马可·波罗惊叹于忽必烈金银酒具之众多与奢华,说“非亲见者未能信也”。以此为效,风气不胫而走,民间的金银器也极其风靡。<br>
  26. </div>
  27. </div>
  28. <div class="design-wrap-right">
  29. <!-- 左右按钮 -->
  30. <img
  31. class="btn-left"
  32. src="@/assets/images/CameraContent-3-1-3-left.png"
  33. alt=""
  34. :style="{opacity: currentSwitchIdx == 0 ? '0.4':'1'}"
  35. @click="previous()"
  36. >
  37. <img
  38. class="btn-right"
  39. src="@/assets/images/CameraContent-3-1-3-right.png"
  40. alt=""
  41. :style="{opacity: currentSwitchIdx == imgLists.length - 1 ? '0.4':'1'}"
  42. @click="next()"
  43. >
  44. <img
  45. class="detail-img"
  46. :src="require(`@/assets/images/CameraContent-3-1-3-img-${currentSwitchIdx + 1}.png`)"
  47. alt=""
  48. >
  49. </div>
  50. </div>
  51. </div>
  52. </div>
  53. </template>
  54. <script setup>
  55. import { ref } from "vue"
  56. const {
  57. windowSizeInCssForRef,
  58. windowSizeWhenDesignForRef,
  59. } = useSizeAdapt(1920, 968)
  60. const emit = defineEmits(['close'])
  61. const currentSwitchIdx = ref(0)
  62. const title = '百工精巧'
  63. const imgLists = [
  64. '@/assets/images/CameraContent-3-1-3-img-1.png',
  65. '@/assets/images/CameraContent-3-1-3-img-2.png',
  66. '@/assets/images/CameraContent-3-1-3-img-3.png',
  67. '@/assets/images/CameraContent-3-1-3-img-4.png',
  68. '@/assets/images/CameraContent-3-1-3-img-5.png',
  69. ]
  70. const previous = () => {
  71. console.log('上一页', currentSwitchIdx.value)
  72. if (currentSwitchIdx.value > 0 ) {
  73. console.log('上一页2')
  74. currentSwitchIdx.value -= 1
  75. } else {
  76. return
  77. }
  78. }
  79. const next = () => {
  80. console.log('下一页')
  81. if (currentSwitchIdx.value < imgLists.length - 1) {
  82. currentSwitchIdx.value += 1
  83. } else {
  84. return
  85. }
  86. }
  87. </script>
  88. <style lang="less" scoped>
  89. @page-height-design-px: 970;
  90. .camera-content-1-1 {
  91. position: absolute;
  92. left: 0;
  93. top: 0;
  94. width: 100%;
  95. height: 100%;
  96. background: rgba(0, 0, 0, 0.45);
  97. backdrop-filter: blur(60px);
  98. >button.return {
  99. position: absolute;
  100. width: 58px;
  101. height: 58px;
  102. left: 42px;
  103. top: 68px;
  104. background-image: url(@/assets/images/btn-return.png);
  105. background-size: contain;
  106. background-repeat: no-repeat;
  107. background-position: center center;
  108. z-index: 10;
  109. }
  110. >h1 {
  111. position: absolute;
  112. left: 0;
  113. top: calc(93 / @page-height-design-px * 100vh);
  114. width: 100%;
  115. height: calc(120 / @page-height-design-px * 100vh);
  116. background-image: url(@/assets/images/camera-content-3-1-3-title-bg.png);
  117. background-size: auto 100%;
  118. background-repeat: no-repeat;
  119. background-position: center center;
  120. font-size: calc(32 / @page-height-design-px * 100vh);
  121. font-family: Source Han Serif CN, Source Han Serif CN;
  122. font-weight: 800;
  123. color: #FFEEC0;
  124. line-height: calc(38 / @page-height-design-px * 100vh);
  125. display: flex;
  126. justify-content: center;
  127. align-items: center;
  128. z-index: 1;
  129. }
  130. >.content-wrap {
  131. position: absolute;
  132. left: 50%;
  133. top: 54%;
  134. width: 100%;
  135. // width: calc(1920 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  136. height: calc(723 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  137. transform: translate(-50%, -50%);
  138. >.switch-wrap {
  139. position: absolute;
  140. right: calc(65 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  141. bottom: calc(83 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  142. z-index: 10;
  143. >button {
  144. width: calc(118 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  145. height: calc(118 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  146. background-image: url(@/assets/images/camera-content-1-1-1-swtich-btn-bg.png);
  147. background-size: 60%;
  148. background-repeat: no-repeat;
  149. background-position: center center;
  150. font-size: calc(24 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  151. font-family: Source Han Sans SC, Source Han Sans SC;
  152. font-weight: 400;
  153. color: #FFFFFF;
  154. line-height: calc(28 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  155. letter-spacing: calc(4 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  156. }
  157. >button:last-of-type {
  158. margin-left: calc(60 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  159. }
  160. >button.active {
  161. background-image: url(@/assets/images/camera-content-1-1-1-swtich-btn-bg-active.png);
  162. background-size: 100%;
  163. }
  164. }
  165. >.design-wrap {
  166. position: absolute;
  167. left: 0;
  168. top: 0;
  169. width: 100%;
  170. height: 100%;
  171. background-image: url(@/assets/images/camera-content-3-1-3-design-bg.png);
  172. background-size: 100% 100%;
  173. background-repeat: no-repeat;
  174. background-position: center center;
  175. display: flex;
  176. justify-content: space-evenly;
  177. align-items: center;
  178. >.design-wrap-left {
  179. width: calc(700 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  180. >.left-title {
  181. width: calc(579 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  182. height: calc(44 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  183. color: #6A3906 ;
  184. font-family: 'SourceHanSansSC-Bold';
  185. font-size: calc(22 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  186. background: url(@/assets/images/camera-content-3-1-3-tab-1-img.png);
  187. background-size: cover;
  188. line-height: calc(44 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  189. padding-left: calc(50 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  190. padding-top: calc(7 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  191. }
  192. >.left-text {
  193. font-family: 'SourceHanSansSC-Normal';
  194. margin-top: 25px;
  195. height: calc(300 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  196. overflow: auto;
  197. font-family: 'SourceHanSansSC-Normal';
  198. letter-spacing: 3px;
  199. line-height: 25px;
  200. >strong {
  201. color: #000000;
  202. font-family: 'SourceHanSansSC-Bold';
  203. margin-bottom: 10px;
  204. }
  205. }
  206. }
  207. >.design-wrap-right {
  208. width: calc(818 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  209. height: calc(438 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  210. background: rgba(145,129,117,0.25);
  211. border: 1px solid #FFE88B;
  212. padding: 15px 10px;
  213. position: relative;
  214. >.btn-left {
  215. width: 50px;
  216. height: 50px;
  217. position: absolute;
  218. left: -25px;
  219. top: 50%;
  220. transform: translateY(-50%);
  221. z-index: 2;
  222. cursor: pointer;
  223. }
  224. >.btn-right {
  225. width: 50px;
  226. height: 50px;
  227. position: absolute;
  228. right: -25px;
  229. top: 50%;
  230. transform: translateY(-50%);
  231. z-index: 2;
  232. cursor: pointer;
  233. }
  234. >.detail-img {
  235. width: 100%;
  236. }
  237. }
  238. }
  239. }
  240. }
  241. </style>