123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- <template>
- <div class="app-view">
- <h1>{{ title }}</h1>
- <progress-comp
- class="progress"
- :cur-idx="curStep"
- />
- <div class="test" />
- <router-view />
- </div>
- </template>
- <script setup>
- // import { onClickOutside } from '@vueuse/core'
- import ProgressComp from "@/components/ProgressComp.vue"
- import { computed, inject, ref } from 'vue'
- const {
- windowSizeInCssForRef,
- windowSizeWhenDesignForRef,
- } = useSizeAdapt()
- inject('$uaInfo')
- inject('$env')
- const curStep = ref(0)
- const title = computed(() => {
- return config.stepList[curStep.value].name
- })
- </script>
- <style lang="less">
- // html, body {
- // overscroll-behavior: none;
- // overflow: hidden;
- // }
- * {
- user-select: none;
- -webkit-touch-callout: none;
- }
- #app {
- height: 100%;
- }
- // 360浏览器不支持not()
- input, textarea {
- user-select: initial;
- }
- // 字体
- // @font-face {
- // font-family: 'Source Han Serif CN';
- // src: url('@/assets/style/SourceHanSerifCN-Regular.otf');
- // }
- // @font-face {
- // font-family: 'Source Han Serif CN-Bold';
- // src: url('@/assets/style/SourceHanSerifCN-Bold.otf');
- // }
- // i {
- // font-style: italic;
- // }
- // 滚动条
- ::-webkit-scrollbar { background: #dddecc; width: 0.3rem; height: 0.3rem; } /*宽度是对垂直滚动条而言,高度是对水平滚动条而言*/
- ::-webkit-scrollbar-thumb { background: #828a5b; border-radius: 0.15rem; }
- ::-webkit-scrollbar-corner { background: #dddecc; }
- // vue组件过渡效果
- .fade-out-leave-active {
- transition: opacity 1s;
- }
- .fade-out-leave-to {
- opacity: 0;
- }
- // 不断渐变显隐 animation
- .animation-show-hide {
- animation: show-hide 1.8s infinite;
- }
- @keyframes show-hide {
- 0% {
- opacity: 0;
- }
- 50% {
- opacity: 1;
- }
- 100% {
- opacity: 0;
- }
- }
- // // vue-viewer
- // .viewer-container {
- // background-color: rgba(0, 0, 0, 80%) !important;
- // }
- // 或者
- // .viewer-backdrop {
- // background-color: rgba(0, 0, 0, 90%) !important;
- // }
- </style>
- <style lang="less" scoped>
- .app-view{
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- background-image: url(/src/assets/images/bg.jpg);
- background-size: cover;
- background-repeat: no-repeat;
- background-position: center center;
- >h1{
- position: absolute;
- top: calc(22 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));;
- left: 50%;
- transform: translateX(-50%);
- font-size: calc(16 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- font-family: Source Han Serif CN-Bold, Source Han Serif CN;
- font-weight: bold;
- color: #FFFFFF;
- line-height: calc(19 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- }
- >.progress{
- position: absolute;
- left: 50%;
- top: calc(64 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- width: calc(328 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));;
- transform: translateX(-50%);
- }
- >.test{
- position: absolute;
- left: 50%;
- top: calc(314 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- transform: translate(-50%, -50%);
- width: calc(328 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
- height: calc(438 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));;
- background-color: #fff;
- }
- }
- </style>
|