CameraContent-3-1-1.vue 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327
  1. <template>
  2. <div class="camera-content-1-1">
  3. <button
  4. class="return"
  5. @click="emit('close')"
  6. />
  7. <div class="content-wrap">
  8. <img
  9. src="@/assets/images/camera-content-3-1-1-bg.png"
  10. draggable="false"
  11. >
  12. <div class="content-wrap-c">
  13. <h1>元代文化艺术的发展</h1>
  14. <div class="tabbar">
  15. <span
  16. :class="{
  17. active: activeTabIdx === 1
  18. }"
  19. @click="activeTabIdx = 1"
  20. >
  21. 发展与机构
  22. </span>
  23. <div class="splitter" />
  24. <span
  25. :class="{
  26. active: activeTabIdx === 2
  27. }"
  28. @click="activeTabIdx = 2"
  29. >
  30. 艺术家
  31. </span>
  32. </div>
  33. <div
  34. v-if="activeTabIdx === 1"
  35. class="tab-content tab-1-content"
  36. >
  37. <h3>元代书法绘画等文化艺术的发展及其文化收藏机构</h3>
  38. <p class="text-indent">
  39. 1276 年,元军围攻杭州,宋主不战而降,南宋内府的经籍图书、礼器符印一并北上送抵大都。在此基础上,元代在大都建立了内府收藏。元代内府收藏最频繁的是元文宗阶段,文宗本人是喜好风雅、提倡艺术的皇帝。这一时期建立了以柯九思为鉴书博士的奎章阁,成为元代内府收藏的高峰。 受到唐宋以来的影响,元代的宫殿、寺院中还流行绘制大幅的壁画,元仁宗延祐年间(1314—1320)皇帝召集集贤院等处的画家为嘉禧殿创作壁画与屏风的事迹,至今为人们所津津乐道。
  40. </p>
  41. <!-- <div
  42. v-if="tab1ContentPageNumber === 2"
  43. class="table"
  44. >
  45. <h3>大都城主要设计者和建设者</h3>
  46. <img
  47. class="table-img"
  48. src="@/assets/images/camera-content-1-1-2-tab-1-table.png"
  49. alt=""
  50. draggable="false"
  51. >
  52. </div> -->
  53. <button
  54. v-if="tab1ContentPageNumber === 1"
  55. class="change-page next-page"
  56. @click="tab1ContentPageNumber = 2"
  57. />
  58. <button
  59. v-if="tab1ContentPageNumber === 2"
  60. class="change-page previous-page"
  61. @click="tab1ContentPageNumber = 1"
  62. />
  63. </div>
  64. <div
  65. v-if="activeTabIdx === 2"
  66. class="tab-content tab-2-content"
  67. >
  68. <h3>
  69. 赵孟頫及众多当时声名显赫的艺术家汇集于元大都
  70. </h3>
  71. <p class="text-indent">
  72. 元大都不仅是元代政治、经济的中心,也是元代文化的中心,文人和艺术家聚集于此,创造出又一个文化的高峰。元大都汇聚了不少文人雅士,更萃集了历代的书画与珍宝。元代初年世祖忽必烈招揽赵孟頫从江南至大都,有元一代,包括赵孟頫在内的不少艺术家荟集于此。在艺术上,赵孟頫是开一代风气的枢轴式人物,与钱选、高克恭、李衎等相互切磋或共同创作,唐棣、柯九思、黄公望、王蒙等也都曾接受他的熏陶或指点,间接受到他影响的人就更多了。因此可以说,赵孟頫是元代艺术上的一代宗师,对元代艺术产生了巨大的影响。延祐元(1314)春天,皇帝召集集贤院等处的画家给隆福宫嘉禧殿创作壁画和屏风,商琦、李衎、唐棣等人纷纷泼墨挥毫。商琦的与李衎的传世画作《春山图》《修篁树石图》,成为我们遥想当年大都宫殿景象的窗口。
  73. </p>
  74. </div>
  75. </div>
  76. </div>
  77. </div>
  78. </template>
  79. <script setup>
  80. import { ref } from "vue"
  81. const {
  82. windowSizeInCssForRef,
  83. windowSizeWhenDesignForRef,
  84. } = useSizeAdapt(1920, 970)
  85. const emit = defineEmits(['close'])
  86. const activeTabIdx = ref(1)
  87. </script>
  88. <style lang="less" scoped>
  89. .camera-content-1-1{
  90. position: absolute;
  91. left: 0;
  92. top: 0;
  93. width: 100%;
  94. height: 100%;
  95. background: rgba(0,0,0,0.45);
  96. backdrop-filter: blur(60px);
  97. >button.return{
  98. position: absolute;
  99. width: 58px;
  100. height: 58px;
  101. left: 42px;
  102. top: 68px;
  103. background-image: url(@/assets/images/btn-return.png);
  104. background-size: contain;
  105. background-repeat: no-repeat;
  106. background-position: center center;
  107. }
  108. .content-wrap{
  109. position: absolute;
  110. left: 50%;
  111. top: 54%;
  112. height: calc(819 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  113. transform: translate(-50%, -50%);
  114. >img {
  115. height: 100%;
  116. }
  117. &-c {
  118. position: absolute;
  119. top: 0;
  120. left: 0;
  121. right: 0;
  122. bottom: 0;
  123. z-index: 1;
  124. }
  125. h1{
  126. position: absolute;
  127. left: calc(163 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  128. top: calc(190 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  129. font-size: calc(40 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  130. font-family: "SourceHanSerifCN-SemiBold";
  131. color: #FBF7DC;
  132. line-height: calc(47 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  133. writing-mode: vertical-lr;
  134. letter-spacing: 0.23em;
  135. }
  136. .tabbar{
  137. position: absolute;
  138. display: flex;
  139. flex-direction: column;
  140. align-items: center;
  141. left: calc(373 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  142. top: calc(42 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  143. >span{
  144. width: 46px;
  145. height: 168px;
  146. writing-mode: vertical-lr;
  147. display: flex;
  148. justify-content: center;
  149. align-items: center;
  150. background: #AC997F;
  151. font-size: 19px;
  152. color: #FFF3C3;
  153. letter-spacing: 1px;
  154. font-family: "SourceHanSerifCN-SemiBold";
  155. box-shadow: 3px 4px 9px 0px rgba(0,0,0,0.25);
  156. cursor: pointer;
  157. }
  158. >span.active{
  159. color: #6A3906;
  160. background: linear-gradient(322deg, #C69D49 0%, #F8E6A9 68%);
  161. }
  162. >.splitter{
  163. position: absolute;
  164. left: 50%;
  165. top: 50%;
  166. transform: translate(-50%, -50%);
  167. width: calc(34 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  168. height: 1px;
  169. background-color: #FFF3C3;
  170. }
  171. }
  172. .tab-content{
  173. position: absolute;
  174. left: calc(450 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  175. top: calc(42 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  176. width: calc(950 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  177. display: flex;
  178. flex-direction: column;
  179. justify-content: flex-start;
  180. align-items: center;
  181. margin-top: 5%;
  182. >h3{
  183. width: calc(862 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  184. height: calc(71 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  185. display: flex;
  186. justify-content: center;
  187. align-items: center;
  188. background-image: url(@/assets/images/camera-content-1-1-2-tab-1-table-title.png);
  189. background-size: cover;
  190. background-repeat: no-repeat;
  191. background-position: center center;
  192. font-size: calc(28 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  193. font-family: "SourceHanSerifCN-SemiBold";
  194. color: #6A3906;
  195. line-height: calc(33 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  196. letter-spacing: calc(5 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  197. margin-bottom: calc(30 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  198. }
  199. }
  200. .tab-1-content{
  201. >p{
  202. width: 95%;
  203. max-height: 80%;
  204. overflow: auto;
  205. font-size: calc(20 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  206. color: #000000;
  207. margin-right: -20px;
  208. padding-right: 20px;
  209. }
  210. >div.table{
  211. position: absolute;
  212. left: 0;
  213. top: 0;
  214. width: 100%;
  215. height: 100%;
  216. display: flex;
  217. flex-direction: column;
  218. justify-content: center;
  219. align-items: center;
  220. >h3{
  221. width: calc(528 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  222. height: calc(64 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  223. display: flex;
  224. justify-content: center;
  225. align-items: center;
  226. background-image: url(@/assets/images/camera-content-1-1-2-tab-1-table-title.png);
  227. background-size: cover;
  228. background-repeat: no-repeat;
  229. background-position: center center;
  230. font-size: calc(28 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  231. font-family: Source Han Serif CN;
  232. font-weight: 600;
  233. color: #6A3906;
  234. line-height: calc(33 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  235. letter-spacing: calc(5 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  236. margin-bottom: calc(30 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  237. }
  238. >img.table-img{
  239. width: calc(931 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  240. height: calc(528 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  241. }
  242. }
  243. >button.change-page{
  244. position: absolute;
  245. width: calc(60 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  246. height: calc(60 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  247. right: calc(30 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  248. bottom: calc(50 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  249. background-size: cover;
  250. background-repeat: no-repeat;
  251. background-position: center center;
  252. }
  253. >button.next-page{
  254. background-image: url(@/assets/images/camera-content-1-1-2-tab-1-next-page.png);
  255. }
  256. >button.previous-page{
  257. background-image: url(@/assets/images/camera-content-1-1-2-tab-1-previous-page.png);
  258. }
  259. }
  260. .tab-2-content{
  261. // padding-top: calc(50 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  262. // padding-bottom: calc(50 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  263. display: flex;
  264. flex-direction: column;
  265. justify-content: flex-start;
  266. align-items: center;
  267. >p{
  268. width: 95%;
  269. font-size: calc(20 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  270. color: #000000;
  271. margin-right: -20px;
  272. padding-right: 20px;
  273. overflow-y: auto;
  274. max-height: calc(460 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  275. // letter-spacing: calc(8 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  276. }
  277. >img{
  278. width: calc(818 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  279. height: calc(216 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  280. border: 1px solid #FFE88B;
  281. padding: calc(22 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  282. background-color: rgba(145,129,117,0.25);
  283. object-fit: cover;
  284. }
  285. }
  286. }
  287. }
  288. @media screen and (max-height: 740px) {
  289. .camera-content-1-1 > .content-wrap {
  290. top: 50%;
  291. height: 100%;
  292. h1 {
  293. top: calc(230 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  294. left: calc(198 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  295. font-size: calc(46 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  296. }
  297. .tabbar {
  298. top: calc(50 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  299. left: calc(440 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  300. span {
  301. width: 60px;
  302. font-size: 24px;
  303. }
  304. }
  305. .tab-content {
  306. left: calc(550 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  307. width: calc(1085 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  308. h3 {
  309. width: calc(960 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  310. height: calc(79 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  311. font-size: calc(32 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
  312. }
  313. }
  314. }
  315. }
  316. </style>