前端大屏16:9显示32:9技术方案

UI是按照3840*1080进行设计的 要全部正常显示在16:9的电脑上 就会这样


肯定是显示不完的 毕竟是按照3840设计的

所以我这边用动态的scale的方式进行处理

        <div class="map-container" id="mapContainer" :style="{ transform: `scale(${Scale})`, overflow: 'hidden' }">
           <!-- 这里给地图反向还原 不然会导致指针偏移 -->
            <el-amap :style="{ transform: `scale(${1 / Scale})` }"  ref="map" :center="center" :zoom="zoom"> </el-amap>
        </div>

然后在data里面定义好数据以及计算属性

    mounted() {
        window.addEventListener('resize', (e) => {
            let _clientWidth = document.documentElement.clientWidth
            let _clientHeight = document.documentElement.clientHeight
            this.clientWidth = Number(_clientWidth)
            this.clientHeight = Number(_clientHeight)
        })
    },    
    data() {
        return {
            width: 3840,//这里是ui设计的实际尺寸
            height: 1080,//这里是ui设计的实际尺寸
            clientWidth: document.documentElement.clientWidth,
            clientHeight: document.documentElement.clientHeight,
        }
    },
    computed: {
        Scale() {
            if (!this.clientWidth) return 1
            const scaleX = this.fixedMunber(this.clientWidth / this.width)
            let scale = scaleX
            return scale
        },
    },
    methods:{
        fixedMunber(num) {
            const fixedNum = 100000
            return parseInt(`${num * fixedNum}`) / fixedNum
        },
    }
<style lang="scss" scoped>
    .map-container {
        width: 3840px;//这里是ui设计的实际尺寸
        height: 1080px;//这里是ui设计的实际尺寸
        flex: none;
        position: relative;
    }
</style>

这样就可以正常适配屏幕拉 

但是高德地图会因为scale还原会变大 目前没找到合适的解决方案 -  -

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值