scale-view 内包含了一组函数,这些函数可以通过 JavaScript 动态设置 CSS 样式,将样式中的固定长度转为能限制最大宽度的可伸缩的长度。scale-view 可以配合 postcss-mobile-forever 使用,scale-view 用于运行阶段,postcss-mobile-forever 用于编译阶段。
⚠️ Warning使用 scale-view 和 postcss-mobile-forever,或是其它使用动态根元素
font-size
结合 rem,这两种方法生成的伸缩视图,不能触发浏览器的缩放功能(可以通过快捷键同时按下 CMD/Ctrl 和 +/- 触发),不能满足针对缩放的可访问性标准,因此存在可访问性问题。查看一个关于 vw 伸缩视图的可访问性实验。
使用 npm 安装最新版本(yarn 则是 yarn add scale-view
):
npm install scale-view
import { init } from "scale-view";
init([idealWidth], [maxWidth]);
初始化 scale-view,应在其它函数被调用前首先调用。idealWidth
表示视图中的固定长度所基于的宽度,也就是设计稿的宽度;maxWidth
表示伸缩视图的最大宽度,该宽度将限制伸缩视图,避免无限放大。这两个入参都是可选的,默认值分别为 750 和 600。
import { vw } from "scale-view";
vw(number, [unit]);
转换 px 值,使固定的值变为基于 idealWidth
的伸缩长度。number
表示值的大小,unit
表示单位,可选。
import { clampVw } from "scale-view";
clampVw(number, [unit]);
转换 px 值,使固定的值变为基于 idealWidth
的伸缩长度,并且实际长度限制最大为 maxWidth
。number
表示值的大小,unit
表示单位,可选。
import { percentage } from "scale-view";
percentage(number, [unit]);
转换 vw 值和百分比值,百分比值应是基于包含块为浏览器窗口宽度的值,转换使原先基于浏览器窗口宽度的值变为基于 idealWidth
的值,并且受到 maxWidth
的限制。number
表示值的大小,unit
表示单位,可以传入字符串 "vw"
和 "%"
,如果不传,则默认为 "%"
。
import { centre } from "scale-view";
centre(number, unit);
转换用于 left 和 right 属性的值,属性所在元素的包含块应是浏览器窗口,转换使 left 和 right 属性基于 idealWidth
所在的视图,而不是浏览器窗口,并且受到 maxWidth
的限制。number
表示值的大小,unit
表示单位,必填,需传入 "vw"
、"px"
或 "px"
。
进入 examples
文件夹后,运行项目,本地查看项目:
cd examples/react
npm i
npm run start
npm install
npm run test
修改源码后,编写并执行单元测试,验证是否输出了预期的结果。
一起开发,让程序的变量命名更合适、性能和功能更好。
查看更新日志。
查看语义化版本 2.0.0。
查看 MIT License。
请随意 Issue、PR 和 Star,您也可以支付该项目,支付金额由您从该项目中获得的收益自行决定。