Less预处理rem

发布于 2022-09-11 23:29:19 字数 202 浏览 13 评论 0

`
@fontSizeBase: 75;//基于视觉稿横屏尺寸/100得出的基准font-size
.px2rem(@name, @px){
@{name}: @px / @fontSizeBase * 1rem;
}
`
以上代码,
请问1:@px / @fontSizeBase * 1rem;是如何推的?
请问2:为什么基础值是75?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

听你说爱我 2022-09-18 23:29:19

假设为iPhone6做适配,它的css分辨率是375667.物理分辨率是7501334.

UI作图一般是按750作图,即2x图

rem适配方案本质就是基于整体尺寸按比例适配.
但是css中的百分比是相对于父元素来计算.为了使我们写样式时便于计算,就需要找到一个单位,它必须是一个基于一个统一的参照物的比例单位,rem就是这样一个单位,它是指基于html根元素的字体大小来计算尺寸.

习惯上,我们把屏幕分为10份,用脚本检测设备宽度,将html的字体大小设置为设备宽度的1/10.
这样一来,当我们所有尺寸单位均使用rem时,就使所有的尺寸都与设备宽度挂上了钩.

再来看计算公式.
当UI(基于750尺寸)绘制了一个方块,100*100.
在设计稿中,以宽度为例,占比为 13.33%;
转化为rem的话,就是(100/75)-->1.333rem

使用less的话,需要编译到css,最终输出的css代码就是

width: 1.333rem;
height: 1.333rem;

当这份代码到达设备时
假设是iPhone6,脚本将html字体设置为37.5px;则方块尺寸最终计算为49.99px,占比为49.99/375-->13.33%
假设是iPhoneX,脚本将html字体设置为41.4px;则方块尺寸最终计算为55.2px,占比为55.2/414-->13.33%
...
这样就达到了适配的目的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文