123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712 |
- <template>
- <div
- class="camera-content-1-1"
- >
- <button
- class="return"
- @click="emit('close')"
- />
- <div class="content-wrap">
- <h1>{{ title }}</h1>
- <div class="switch-wrap">
- <button
- class="switch-design"
- :class="{
- active: currentSwitchIdx === 0
- }"
- @click.stop="currentSwitchIdx = 0"
- >
- 设计
- </button>
- <button
- class="switch-layout"
- :class="{
- active: currentSwitchIdx === 1
- }"
- @click.stop="currentSwitchIdx = 1"
- >
- 布局
- </button>
- </div>
- <div
- v-if="currentSwitchIdx === 0"
- class="design-wrap"
- >
- <h2 class="character-name">
- <span>刘秉忠</span><span>太保兼领中书省事</span>
- </h2>
- <div class="zhuanchang">
- 专长
- </div>
- <div class="zhuanchang-tag one">
- 建筑设计
- </div>
- <div class="zhuanchang-tag two">
- 城市规划
- </div>
- <!-- <div class="character-wrap">
- <img
- class="character"
- src="@/assets/images/character-luibingzhong.png"
- alt=""
- draggable="false"
- >
- </div> -->
- <div
- class="character-frames-wrapper"
- >
- <img
- v-show="animationType === 1"
- class="frames frames-2"
- :class="{
- animating: isCharacterSpecialMoving1,
- state1: isCharacterSpecialMoving1 === 0,
- state2: isCharacterSpecialMoving1 === 1,
- }"
- src="@/assets/images/character-luibingzhong-2.png"
- alt=""
- draggable="false"
- >
- <img
- v-show="animationType === 2"
- class="frames frames-3"
- :class="{
- animating: isCharacterSpecialMoving2,
- state1: isCharacterSpecialMoving2 === 0,
- state2: isCharacterSpecialMoving2 === 1,
- }"
- src="@/assets/images/character-luibingzhong-1.png"
- alt=""
- draggable="false"
- >
- </div>
- <h2 class="design">
- 大都设计
- </h2>
- <div class="design-detail">
- <p class="text-indent">
- 大都城的平面设计,以《周礼·考工纪》关于都城建设为指导思想,按照“南朝北市,左祖右社”的原则,进行规划建造。
- </p>
- <p class="text-indent">
- 平地新建的元大都有着统一的规划布局,采取外城、皇城、宫城三重城垣环环相套的形制,皇城位于外城南半部,宫城位于皇城中央偏东。整座都城规模浩大,外城南北约7595米,东西约6705米,面积约50.9平方公里。城墙东、西、南三面均设三门,北面设两门。东面三门由北至南为光熙门、崇仁门、齐化门;南面三门由东至西为文明门、丽正门、顺城门;西面三门由南至北为平则门、和义门、肃清门;北门二门由西至东为健德门、安贞门。城内主要街道包括南北向街道九条、东西向大街六条。都城有着明确的中轴线,城内以大街为主干,辅以东西向平行的胡同。
- </p>
- <p class="text-indent">
- 城内还建设了专供宫廷用水的金水河水系与由高粱河、积水潭、通惠河组成的漕运水系,特别是后者将大都与大运河联系在一起,大运河成为了大都物资供给的重要“动脉”。
- </p>
- </div>
- <img
- class="city"
- src="@/assets/images/camera-content-1-1-1-design-city.png"
- alt=""
- draggable="false"
- >
- </div>
- <div
- v-if="currentSwitchIdx === 1"
- class="map-wrap"
- >
- <button
- class="hotspot"
- :class="{
- active: displayingHotspotIdx === 0
- }"
- @mouseenter="displayingHotspotIdx = 0"
- @mouseleave="displayingHotspotIdx = -1"
- >
- <!-- <div class="label">
- 中轴线
- </div> -->
- <img
- class="deco"
- src="@/assets/images/camera-content-1-1-1-hotspot-1-line.png"
- alt=""
- draggable="false"
- >
- </button>
- <button
- class="hotspot"
- :class="{
- active: displayingHotspotIdx === 1
- }"
- @mouseenter="displayingHotspotIdx = 1"
- @mouseleave="displayingHotspotIdx = -1"
- >
- <!-- <div class="label">
- 水系
- </div> -->
- <img
- class="deco"
- src="@/assets/images/camera-content-1-1-1-hotspot-2-river.png"
- alt=""
- draggable="false"
- >
- </button>
- <button
- class="hotspot"
- :class="{
- active: displayingHotspotIdx === 2
- }"
- @mouseenter="displayingHotspotIdx = 2"
- @mouseleave="displayingHotspotIdx = -1"
- >
- <!-- <div class="label">
- 外城
- </div> -->
- <img
- class="deco"
- src="@/assets/images/camera-content-1-1-1-hotspot-3-area.png"
- alt=""
- draggable="false"
- style="z-index: 5;"
- >
- </button>
- <button
- class="hotspot"
- :class="{
- active: displayingHotspotIdx === 3
- }"
- @mouseenter="displayingHotspotIdx = 3"
- @mouseleave="displayingHotspotIdx = -1"
- >
- <!-- <div class="label">
- 皇城和宫城
- </div> -->
- <img
- class="deco"
- src="@/assets/images/camera-content-1-1-1-hotspot-4-area.png"
- alt=""
- draggable="false"
- >
- </button>
- <div
- class="desc"
- >
- <h3 v-if="layoutDataList[displayingHotspotIdx+1].title">
- {{ layoutDataList[displayingHotspotIdx+1].title }}
- </h3>
- <div class="hotspot-detail text-indent">
- <p
- v-for="(item, idx) in layoutDataList[displayingHotspotIdx+1].detail.split('\n')"
- :key="idx"
- >
- {{ item }}
- </p>
- </div>
- </div>
- </div>
- </div>
- </div>
- </template>
- <script setup>
- import { ref, computed, watch, onMounted } from "vue"
- import { useRoute, useRouter } from "vue-router"
- import { useStore } from "vuex"
- const {
- windowSizeInCssForRef,
- windowSizeWhenDesignForRef,
- } = useSizeAdapt(1920, 968)
- const route = useRoute()
- const router = useRouter()
- const store = useStore()
- const emit = defineEmits(['close'])
- const currentSwitchIdx = ref(0)
- const title = computed(() => {
- if (currentSwitchIdx.value === 0) {
- return '刘秉忠亲述自己对大都的设计'
- } else if (currentSwitchIdx.value === 1) {
- return '大都城街道布局及建筑面积规划'
- } else {
- return ''
- }
- })
- const layoutDataList = [
- {
- title: '',
- detail: '在元大都通往11座城门的大街之间东西平行分布的胡同,大多相距78米,即元代的50步。元大都的衙署和民居就分布在这样的街道系统中。按照元代的规定,普通民居的面积不能超过八亩,重要衙署和寺院的面积要远远超过普通民居,打破胡同的界限。',
- },
- {
- title: '中轴线',
- detail: '大都城有着明确的中轴线,城内以大街为主干,辅以东西向平行的胡同,构成了开放式街巷制的街道规划。'
- },
- {
- title: '水系规划',
- detail: '水系在大都城的规划中占有重要地位,皇城和宫城围绕着太液池而规划,和太液池相连的金水河水系与沟通通惠河的漕运水系贯穿整个城市。\n漕运水系将大运河的终点通州与积水潭连接起来,漕船可以经由通惠河直达大都城内的积水潭,由此积水潭中出现了舳舻蔽水的盛况。\n积水潭的东岸、北岸也成为大都城内繁华的商业区。粮食和物资通过运河汇聚到元大都,为大都的繁荣奠定了基础。'
- },
- {
- title: '外城',
- detail: '外城南北约7.6公里,东西约6.7公里,面积约50平方公里。外城共设城门11座,东西南三面各有三座城门,北面有两座城门。'
- },
- {
- title: '皇城和宫城',
- detail: '皇城和宫城是全城的核心,居于外城南部中央,宫城偏于皇城东部,正南门为崇天门,正是在这里,元朝皇帝向天下发出号令。'
- },
- ]
- const displayingHotspotIdx = ref(-1)
- const isCharacterSpecialMoving1 = ref(0)
- const isCharacterSpecialMoving2 = ref(0)
- const animationType = ref(1)
- setTimeout(() => {
- isCharacterSpecialMoving1.value = 1
- setTimeout(() => {
- animationType.value = 2
- }, 3000)
- }, 0)
- setInterval(() => {
- isCharacterSpecialMoving2.value = 1
- setTimeout(() => {
- isCharacterSpecialMoving2.value = 0
- }, 3000)
- }, 3300)
- </script>
- <style lang="less" scoped>
- @page-height-design-px: 970;
- @frame-width: 256px;
- @frame-height: 512px;
- @duration-2: 3s;
- @frame-num-2: 72;
- @duration-3: 3s;
- @frame-num-3: 72;
- .camera-content-1-1{
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- background: rgba(0,0,0,0.45);
- backdrop-filter: blur(60px);
- >button.return{
- position: absolute;
- width: 58px;
- height: 58px;
- left: 42px;
- top: 68px;
- background-image: url(@/assets/images/btn-return.png);
- background-size: contain;
- background-repeat: no-repeat;
- background-position: center center;
- z-index: 10;
- }
- h1{
- position: absolute;
- left: 0;
- top: calc(-60 / @page-height-design-px * 100vh);
- width: 100%;
- height: calc(120 / @page-height-design-px * 100vh);
- background-image: url(@/assets/images/camera-content-1-1-1-title-bg.png);
- background-size: auto 100%;
- background-repeat: no-repeat;
- background-position: center center;
- font-size: calc(32 / @page-height-design-px * 100vh);
- font-family: "Source Han Serif CN Heavy";
- color: #FFFFFF;
- line-height: calc(38 / @page-height-design-px * 100vh);
- display: flex;
- justify-content: center;
- align-items: center;
- z-index: 1;
- }
- >.content-wrap{
- position: absolute;
- left: 50%;
- top: 54%;
- width: calc(1920 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(723 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- transform: translate(-50%, -50%);
- >.switch-wrap{
- position: absolute;
- right: calc(65 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- bottom: calc(83 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- z-index: 10;
- >button{
- width: calc(118 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(118 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- background-image: url(@/assets/images/camera-content-1-1-1-swtich-btn-bg.png);
- background-size: 60%;
- background-repeat: no-repeat;
- background-position: center center;
- font-size: calc(24 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- font-family: Source Han Sans SC, Source Han Sans SC;
- font-weight: 400;
- color: #FFFFFF;
- line-height: calc(28 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- letter-spacing: calc(4 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- }
- >button:last-of-type{
- margin-left: calc(60 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- }
- >button.active{
- background-image: url(@/assets/images/camera-content-1-1-1-swtich-btn-bg-active.png);
- background-size: 100%;
- }
- }
- >.design-wrap{
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- background-image: url(@/assets/images/camera-content-1-1-1-design-bg.png);
- background-size: 100% 100%;
- background-repeat: no-repeat;
- background-position: center center;
- >h2.character-name{
- position: absolute;
- width: calc(62 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(379 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- left: calc(40 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- top: calc(15 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- background-image: url(@/assets/images/camera-content-1-1-1-design-name-bg.png);
- background-size: contain;
- background-repeat: no-repeat;
- background-position: center center;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- >span:first-of-type{
- display: block;
- writing-mode: vertical-lr;
- font-size: calc(23 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- font-family: "SourceHanSerifCN-SemiBold";
- color: #FFF7D9;
- line-height: calc(27 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- letter-spacing: calc(10 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- }
- >span:last-of-type{
- margin-top: calc(20 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- display: block;
- writing-mode: vertical-lr;
- font-size: calc(18 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- font-family: "Source Han Sans SC Regular";
- color: #43310E;
- line-height: calc(23 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- letter-spacing: calc(5 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- }
- }
- >.zhuanchang{
- position: absolute;
- top: calc(80 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- left: calc(120 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- width: calc(16 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(47 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- background: #796545;
- border-radius: calc(8 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- font-size: calc(10 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- font-family: "SourceHanSerifCN-SemiBold";
- color: #FFFFFF;
- line-height: calc(12 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- letter-spacing: calc(4 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- display: flex;
- justify-content: center;
- align-items: center;
- writing-mode: vertical-lr;
- padding-right: calc(2 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- }
- >.zhuanchang-tag{
- position: absolute;
- top: calc(70 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- width: calc(27 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(148 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- background-image: url(@/assets/images/camera-content-1-1-1-design-zhuanchang-tag-bg.png);
- background-size: cover;
- background-repeat: no-repeat;
- background-position: center center;
- writing-mode: vertical-lr;
- font-size: calc(19 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- font-family: "SourceHanSerifCN-SemiBold";
- color: #43310E;
- line-height: calc(22 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- letter-spacing: calc(8 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- padding-top: calc(30 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- }
- >.zhuanchang-tag.one{
- left: calc(160 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- }
- >.zhuanchang-tag.two{
- left: calc(220 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- }
- // >.character-wrap{
- // position: absolute;
- // left: calc(60 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- // top: calc(-60 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- // width: calc(585 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- // height: calc(796 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- // >img.character{
- // position: absolute;
- // left: 0;
- // top: 0;
- // width: 100%;
- // height: 100%;
- // }
- // }
- >.character-frames-wrapper {
- position: absolute;
- left: calc(200 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- bottom: calc(-30 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(@frame-height * 1.5);
- width: calc(@frame-width * 1.5);
- overflow: hidden;
- >.frames {
- position: absolute;
- height: 100%;
- transition-property: none;
- &.animating{
- transition-property: left;
- }
- &.state1 {
- left: 0;
- }
- }
- >.frames-2{
- transition-duration: @duration-2;
- transition-timing-function: steps(@frame-num-2 - 1, jump-end);
- &.state2 {
- left: calc(-100% * (@frame-num-2 - 1));
- }
- }
- >.frames-3{
- transition-duration: @duration-3;
- transition-timing-function: steps(@frame-num-3 - 1, jump-end);
- &.state2 {
- left: calc(-100% * (@frame-num-3 - 1));
- }
- }
- }
- >h2.design{
- position: absolute;
- width: calc(76 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(241 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- left: calc(650 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- top: calc(160 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- background-image: url(@/assets/images/camera-content-1-1-1-design-h2-design-bg.png);
- background-size: contain;
- background-repeat: no-repeat;
- background-position: center center;
- display: flex;
- justify-content: center;
- align-items: center;
- writing-mode: vertical-lr;
- padding-right: calc(4 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- padding-bottom: calc(10 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));;
- font-size: calc(24 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- font-family: "Source Han Serif CN Heavy";
- color: #43310E;
- line-height: calc(28 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- letter-spacing: calc(4 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- }
- >.design-detail{
- position: absolute;
- left: calc(740 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- top: calc(175 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- width: calc(568 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(305 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- overflow: auto;
- padding-right: calc(18 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- >p{
- font-size: calc(20 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- color: #000000;
- }
- }
- >img.city{
- position: absolute;
- left: calc(1350 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- top: calc(170 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- width: calc(436 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(307 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- border-radius: calc(9 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- opacity: 1;
- border: calc(4 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef')) solid #C9AD83;
- padding: calc(8 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- background-color: #F4F2E9;
- }
- }
- >.map-wrap{
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- background-image: url(@/assets/images/camera-content-1-1-1-layout-bg.png);
- background-size: 100% 100%;
- background-repeat: no-repeat;
- background-position: center center;
- >button.hotspot{
- position: absolute;
- width: calc(73 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(73 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- background-image: url(@/assets/images/camera-content-1-1-1-hotspot.png);
- background-size: cover;
- background-repeat: no-repeat;
- background-position: center center;
- top: calc(100 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- left: calc(50 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- >.label{
- position: absolute;
- left: calc(50% + 7 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- bottom: calc(-20 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- transform: translate(-50%, 0);
- width: calc(123 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(404 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- background-image: url(@/assets/images/camera-content-1-1-1-hotspot-label.png);
- background-size: contain;
- background-repeat: no-repeat;
- background-position: center center;
- display: none;
- justify-content: center;
- align-items: center;
- writing-mode: vertical-lr;
- font-size: calc(24 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- font-family: "SourceHanSansSC-Normal";
- font-weight: bold;
- color: #F4D085;
- line-height: calc(28 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- letter-spacing: 0.5em;
- padding-right: calc(14 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- z-index: 6;
- }
- >.deco{
- display: none;
- }
- }
- >button.hotspot.active{
- >.label{
- display: flex;
- pointer-events: none;
- }
- >.deco{
- display: initial;
- pointer-events: none;
- }
- }
- >button.hotspot:nth-of-type(1){
- left: calc(488 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- top: calc(136 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- >img.deco{
- position: absolute;
- width: calc(42 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(615.5 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- left: calc(22 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- top: calc(-72 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- }
- }
- >button.hotspot:nth-of-type(2){
- left: calc(329 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- top: calc(228 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- >img.deco{
- position: absolute;
- width: calc(1125 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(851 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- left: calc(-368 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- top: calc(-229 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- }
- }
- >button.hotspot:nth-of-type(3){
- left: calc(847 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- top: calc(181 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- >img.deco{
- position: absolute;
- width: calc(1470 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(621 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- left: calc(-1051 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- top: calc(-125 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- }
- }
- >button.hotspot:nth-of-type(4){
- left: calc(504 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- top: calc(453 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- >img.deco{
- position: absolute;
- width: calc(509 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(211 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- left: calc(-305 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- top: calc(-85 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- z-index: 1;
- }
- }
- >.desc{
- position: absolute;
- left: calc(1180 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- top: calc(110 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- width: calc(686 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(461 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- background-image: url(@/assets/images/camera-content-1-1-1-desc-bg.png);
- background-size: contain;
- background-repeat: no-repeat;
- background-position: center center;
- display: flex;
- justify-content: center;
- align-items: center;
- padding-top: calc(80 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- padding-bottom: calc(80 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- padding-left: calc(100 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- padding-right: calc(60 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- >h3{
- position: absolute;
- left: calc(-24 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- top: calc(50 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- width: calc(76 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(241 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- background-image: url(@/assets/images/camera-content-1-1-1-desc-title-bg.png);
- background-size: contain;
- background-repeat: no-repeat;
- background-position: center center;
- display: flex;
- justify-content: center;
- align-items: center;
- writing-mode: vertical-lr;
- font-size: calc(24 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- font-family: "SourceHanSerifCN-SemiBold";
- color: #43310E;
- line-height: calc(28 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- letter-spacing: calc(2 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- padding-right: calc(4 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- }
- >div.hotspot-detail{
- max-height: 100%;
- overflow: auto;
- padding-right: calc(20 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- >p{
- // margin-bottom: 1em;
- font-size: calc(20 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- font-family: Source Han Sans SC, Source Han Sans SC;
- font-weight: 300;
- color: #000000;
- line-height: calc(30 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- // letter-spacing: calc(4 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- }
- }
- }
- }
- }
- }
- @media only screen and (max-width: 1560px) {
- .character-frames-wrapper {
- left: calc(250 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef')) !important;
- bottom: calc(0 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef')) !important;
- height: calc(@frame-height * 1) !important;
- width: calc(@frame-width * 1) !important;
- }
- }
- @media only screen and (max-width: 1100px) {
- .character-frames-wrapper {
- left: calc(230 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef')) !important;
- bottom: calc(0 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef')) !important;
- height: 350px !important;
- width: 175px !important;
- }
- }
- </style>
|