vue可视化大屏自适应

<template>
  <div id="bigScreen">
  
  </div>
</template>
<script>
    export default {
        name: "bigScreen",
        data(){
            return{

            }
        },
        mounted() {
            this.setBodyCss();
            this.resize();
            window.addEventListener("resize", () => {
                this.resize();
            });
        },
        methods:{
            setBodyCss() {
                document.body.style.width = "1920px";
                document.body.style.height = "1080px";
                document.body.style.transform = "scale(1, 1)";
                document.body.style.transformOrigin = "left top 0px";
                document.body.style.overflow = "hidden";
            },
            resize() {
                this.resizeCenter();
                this.resizeFullBak();
            },
            resizeCenter() {
                if (!window.screen.height || !window.screen.width)
                    return this.resizeCenterBak();
                let ratio = window.innerHeight / window.screen.height;
                document.body.style.transform = "scale(" + ratio + ")";
                document.body.style.transformOrigin = "left top";
            },
            resizeCenterBak() {
                let ratioX = window.innerWidth / document.body.offsetWidth;
                let ratioY = window.innerHeight / document.body.offsetHeight;
                let ratio = Math.min(ratioX, ratioY);
                document.body.style.transform = "scale(" + ratio + ")";
                document.body.style.transformOrigin = "left top";
            },
            resizeFullBak() {
                let ratioX = window.innerWidth / document.body.offsetWidth;
                let ratioY = window.innerHeight / document.body.offsetHeight;
                document.body.style.transform = "scale(" + ratioX + ", " + ratioY + ")";
                document.body.style.transformOrigin = "left top";
            },
        }
    }
</script>
<style scoped>
  #bigScreen {
    width: 1920px;
    height: 1080px;
    /*background-image: url("./images/bigScreen.png");*/
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: center;
  }
</style>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值