uniapp 修改App.vue 实现自动适应,在移动端正常显示,在宽屏设备上实现平行视界效果,请写出示例代码
时间: 2023-07-16 11:17:27 浏览: 83
可以使用CSS Media Queries和rem单位来实现自适应和平行视觉效果。
示例代码如下:
```
<template>
<div class="app">
<router-view></router-view>
</div>
</template>
<script>
export default {
name: 'App',
created() {
// 监听窗口大小变化,重新计算根字体大小
window.addEventListener('resize', this.setRemUnit)
this.setRemUnit()
},
methods: {
// 设置根字体大小
setRemUnit() {
const viewWidth = document.documentElement.clientWidth
const rem = viewWidth / 10
document.documentElement.style.fontSize = rem + 'px'
}
}
}
</script>
<style>
/* 移动端样式 */
.app {
width: 100%;
height: 100%;
background-color: #fff;
}
/* 宽屏设备平行视界效果 */
@media screen and (min-width: 1200px) {
.app {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
perspective: 1000px;
}
.app > * {
transform: translateZ(-200px);
}
}
</style>
```
在上面的代码中,我们先使用rem单位来实现移动端自适应,然后使用CSS Media Queries来针对宽屏设备进行样式调整,实现平行视界效果。其中,perspective属性和translateZ属性是用来实现3D视觉效果的。
阅读全文