首先要知道几个概念:
设计稿是物理像素,在移动端上是css像素,1css像素=2物理像素/3物理像素;
要想实现一张设计稿的尺寸能在各个移动端上适配,因为不同的移动端的css像素和物理像素比不一样,所以固定的物理像素要想实现在每个移动端适配是不可能的,此时需要一种技术:rem等比例缩放。
rem使用:
在index.html入口文件里最上面(title下面)写上下面这句代码:
<script>
//fontsize计算
document.documentElement.style.fontSize = document.documentElement.clientWidth/750 * 16 +'px'
</script>
// => 1rem=16px
//750是设计稿宽度、16是基准
规定rem基准fontSize=设备宽度/设计稿宽度*基准+‘px’ =》 1rem=基准px
不同的设备的cilentWidth不一样,越大则fontSize值越大,那么1rem=更大的fontSize,所以能做到每个都适配。
所以width=750px=750px/基准px=**rem,例如:=750px/16px=46.875rem
这个基准是自己定的,默认是16,如果改为100px,好算一点,那就是=750px/100px
小插件自动转换:
不过有一个插件,可以帮助我们根据基准自动换算成rem值:
下载插件以后,插件规定的默认基准是16,当你上面改为100,也是不能用的,要想把基准改为100,需要在 设置--settings.json 文件中加入下面这句代码:
"cssrem.rootFontSize":100
这样才能更改默认的基准,此时当你在width=“ xx”px时,这个插件会帮你把px自动除以基准换算得到rem值。