三大常用方式
- vw/vh方案
- 概述:按照设计稿的尺寸,将
px
按比例计算转为vw和vh - 优点:可以动态计算图表的宽高,字体等,灵活性较高,当屏幕比例跟 ui 稿不一致时,不会出现两边留白情况
- 缺点:每个图表都需要单独做字体、间距、位移的适配,比较麻烦
- 概述:按照设计稿的尺寸,将
- scale方案
- 概述:也是目前效果最好的一个方案
- 优点:代码量少,适配简单 、一次处理后不需要在各个图表中再去单独适配.
- 缺点:留白,有事件热区偏移,下面介绍的autofit.js已经完全解决了此问题
- rem + vw vh方案
- 概述:这名字一听就麻烦,具体方法为获得 rem 的基准值 ,动态的计算
html根元素的font-size
,图表中通过 vw vh 动态计算字体、间距、位移等 - 优点:布局的自适应代码量少,适配简单
- 缺点:留白,有时图表需要单独适配字体
- 概述:这名字一听就麻烦,具体方法为获得 rem 的基准值 ,动态的计算
我觉得 vw,vh 可以用 % 代替
autofit.js方案
核心代码
通过监听宽高变化,改变整体大小采用缩放方式
1 |
|
使用
1 | import autofit from 'autofit.js' |
默认参数为1920*929(即去掉浏览器头的1080), 直接在大屏启动时调用即可
以上使用的是默认参数,可根据实际情况调整,参数分别为
- renderDom(可选):渲染的dom,默认是 “#app”,必须使用id选择器
- designWidth(可选):设计稿的宽度,默认是 1920
- designHeight(可选):设计稿的高度,默认是 929 ,如果项目以全屏展示,则可以设置为1080
- resize(可选):是否监听resize事件,默认是 true
- 本文作者: 王不留行
- 本文链接: https://wyf195075595.github.io/2022/06/20/programming/others/可视化大屏方案/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!