lg_frontend/pages/visual/PeakCoalView.vue

86 lines
1.8 KiB
Vue
Raw Normal View History

2024-02-18 13:06:37 +00:00
<template>
<div class="peak-coal-content" :style="autoStyle">
<div class="header-content">
</div>
</div>
</template>
<script>
export default {
name: "PeakCoalView",
data(){
return{
autoStyle: {}
}
},
mounted() {
this.getAutoStyle()
window.addEventListener('resize', (e) => {
e.stopPropagation()
this.getAutoStyle()
}, false)
},
methods: {
getAutoStyle () {
const { scale, origin } = this.getScale()
this.autoStyle = {
transform: `scale(${scale})`,
transformOrigin: origin
}
},
getScale () {
let scale = 1
let origin = 'top center'
const baseWidth = 9450
const baseHeight = 3000
const innerWidth = window.innerWidth
const innerHeight = window.innerHeight
const widthScale = innerWidth / baseWidth
const scaleHeight = baseHeight * widthScale
console.log('scaleHeight:',scaleHeight)
if (scaleHeight <= innerHeight) {
origin = 'left top'
scale = widthScale
if (scale > 1) {
origin = 'left top'
}
} else {
scale = innerHeight / baseHeight
}
return { scale, origin }
},
}
}
</script>
<style>
body, html, #__nuxt, #__layout {
width: 100%;
height: 100%;
background-color: #000;
overflow: hidden;
}
.list-enter-active, .list-leave-active {
transition: all 0.5s;
}
.list-enter, .list-leave-to
/* .list-leave-active for below version 2.1.8 */ {
opacity: 0;
transform: translateY(30px);
}
</style>
<style scoped lang="less">
.peak-coal-content{
height: 3000px;
width: 9450px;
overflow: hidden;
position: relative;
user-select: none;
.header-content{
height: 507px;
background: url("assets/peakCoalImages/header/first-title-bg.png") no-repeat;
background-size: 100% 100%;
}
}
</style>