psd图缩小的倍数 = 手机缩小的倍数
假设设计稿是 640px
假设整个屏幕划分为 20 等分(划分标准不一,可以是15份,也可以是10份)
当前html文字大小=当前设备的宽度/人为缩小的倍数(这里是20)
在320px 设备的时候,字体大小为 320px / 20 就是16px
当前的psd图缩小的倍数为 640/20 = 32px
用页面元素的大小 除以不同的 html 字体大小 会发现他们的比例还是相同的
比如 以 640px 为标准设计稿
一个 100*100像素的页面元素在 320px屏幕下,就是 100 / 32 转换为 rem 是 3.125rem
在手机上的大小为 3.125*16px = 50px
375px 屏幕下,html字体大小为 18.75px
一个 100*100像素的页面元素在 375px屏幕下,就是 100 / 32 转换为 rem 是 3.125rem
在手机上的大小为 3.125*18.75px = 58.59375 px
这样已经能实现不同屏幕下 页面元素盒子自适应了
原理总结:
先拿一个标准的稿件(640px)来算出 rem 值,剩下的屏幕,只要把html的文字大小的值算出来,就可以等比例缩放。
算法:
① 最后的公式:页面元素的 rem 值 = 页面元素(px) / (psd /人为缩小的份数);// 100px / ( 640px / 20 );
② 屏幕宽度 / 人为缩小的份数 就是 html font-size 的大小