vue2大屏可视化之scale适配方案

1、应公司要求:需要开发一组大屏页面,经过讨论选择了scale的适配方案

优点:等比缩放,可以严格按照设计稿的尺寸开发,不需要转换单位,便捷。

缺点:严格按照要求的尺寸缩放,当不是定义的尺寸时会有留白,页面缩放过小字体会模糊

// 可以给外面的div加一个全屏的背景色或者背景图片,不同尺寸会有留白,体验感会好一点
<div>
    <div :class="clickNum == 'clickSecond' ? 'contain2' : 'contain'" id="home" ref="home">
    </div>
</div>


``````````
 mounted(){
      this.f()
      window.addEventListener("resize", this.f);
    },
methods: {
f() {
        var w = window.innerWidth; //获取窗口宽度
        var h = window.innerHeight;//获取窗口高度
        const w_w = this.$refs.home.offsetWidth;//获取元素宽度
        const h_h = this.$refs.home.offsetHeight;//获取元素高度
        let num = 0;
        w / h > w_w / h_h ? (num = h / h_h) : (num = w / w_w); 
        // 窗口宽/窗口高>元素宽/元素高
        home.style.transform = `translate(-50%, -50%) scale(${num})`;
      },
},

`````````
// 我这边要求的1920 * 1080,可以根据要求设置
<style lang="scss" scoped>
#home {
  width: 1920px;
  height: 1080px;
  background-color: rgb(16, 179, 111);
  transform: translate(-50%, -50%);
  position: absolute;
  left: 50%;
  top: 50%;
  transition: all 1s;
}
</style>

2.留白情况就是类似于这种,后面可以加一个与大屏颜色相近的背景图 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Vue数据可视化大屏适配,可以采用CSS3的缩放属性进行等比缩放实现。阿里DataV和腾讯云图等大厂的数据可视化项目都采用了这种方案。在实际项目,可以在mounted生命周期监听窗口的变化,使用window.addEventListener('resize')来触发缩放操作。\[1\]\[2\] 在进行大屏适配之前,需要了解屏幕的比例。常见的屏幕比例有16:9,如1920*1080(1080P)、2k、4k等。在确定了实际屏幕比例后,可以选择一个设计稿尺寸进行设计,并严格按照设计稿的像素进行前端开发。下列适应方案可以适应同比例下的所有分辨率屏幕。\[3\] 综上所述,对于Vue数据可视化大屏适配,可以使用CSS3的缩放属性进行等比缩放,并在mounted生命周期监听窗口变化进行缩放操作。在设计阶段需要确定实际屏幕比例,并按照设计稿的像素进行前端开发。 #### 引用[.reference_title] - *1* *3* [vue大屏可视化自适应完美方案](https://blog.csdn.net/u013180541/article/details/127302298)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Vue 数据可视化大屏适配](https://blog.csdn.net/qq_38427709/article/details/116857143)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值