leader 丢来一句:大屏项目用 autofit.js,自己去装。第一反应是搜 autofit.js官网,结果前排一堆下载站,点进去全是套壳页面。这库没有独立官网,正主就在 npm 和 GitHub 上,认准包名 autofit.js 就行。

正确的找法

直接在 npm 搜索框输入 autofit.js,能看到版本号和最近更新时间;GitHub 搜同名仓库,README 就是文档,参数说明、示例、常见问题都在里面,一般还有和 rem、vw 方案的对比。第三方下载站的所谓官网镜像别碰,版本旧,还可能被塞东西。

它解决什么问题

大屏设计稿一般是 1920 乘 1080,放到 4K 拼接屏或小笔记本上,要么小得看不清,要么出滚动条。autofit.js 的思路是按窗口和设计稿的比例,对指定根容器整体做 scale 缩放,初始化时传设计稿宽高和要缩放的节点,窗口变化时自动重算,参数名以仓库 README 为准,写错了直接不生效,移动端项目一般用不到它。

用之前想清楚两件事

一是挂载位置:缩放的是传入的容器,弹窗、下拉这类挂在 body 下的组件不受控,缩放后容易错位,echarts 的 tooltip 也一样,要单独处理。顺带一提,被缩放容器内部的 fixed 定位坐标系也跟着变,排查样式时容易忽略。二是和 rem、vw 方案的取舍:纯展示大屏用 scale 省事,后台系统这种交互多、弹窗多的界面,rem 或 vw 更稳,缩放方案点击坐标偶尔有偏差。

实际判断:展示型大屏、赶工期,装上十分钟就能跑;交互复杂的系统别全押在缩放上,局部自适应更抗折腾。