为了让设计稿中字体大小 跟rem 换算成100的关系。
如果1倍尺寸的设计稿,例如375px 的设计稿和 375px的屏幕。 直接html 的fontSize 为100px 就可以了
设计稿宽度 desW
屏幕宽度 cW
如果是2倍的设计稿, html 的fontSize 为100px ,这时候 用100换算,相当于 字体大了一倍
这时候需要 屏幕 和设计稿 换算一个 比例
cw/desW *100
就是100倍的 设计稿 和rem 的换算关系
rem.js
知识点:
if条件的简单写法 如果>720,=720
n>720&&(n=720)
对于苹果手机orientationChange,旋转屏幕的事件。
当初始的 HTML 文档被完全加载和解析完成之后,DOMContentLoaded 事件被触发,而无需等待样式表、图像和子框架的完全加载。
rem是指根元素(root element html) 的字体大小 ,根元素默认的字体大小为16px。
rem是通过根元素进行适配的,网页中的根元素是html我们通过设置html的字体大小就可以控制rem的大小;
所以默认我们认为1rem=16px; 2rem=32px。
如果为了方便计算我们一般设置1rem=100px ,我们需要设置字体大小为100px
所以我们一般在js中做判断;:
如果是750的设计稿,但是手机是375的屏幕
对应的750设计稿 视觉测量值100px -->1rem
375的设计稿 页面显示的就是50px -->1rem
所以1rem和px的关系就是50倍的关系了: 屏幕/7.5 = 375/7.5=50px
这样1rem*50=50px(50px是375屏幕上面的长度,相当于750上的100px)
==========================================================
如果是375的设计稿,手机屏幕也是375px的
对应375的设计稿 视觉稿测量值为100px --->1rem
375 屏幕手机页面显示为100px -->1rem
所以1rem*100 = 100px (100px是375屏幕上的长度,相当于350上的100px)
===========================================================
综上所述,对于750的设计稿,375的手机和设计稿是50%的关系所以设计稿上100px
对应375手机上的50px;也就是1rem对应着50px。
document.documentElement.style.fontSize = (a/7.5) * 1 + "px"。
对于375的设计稿,375设计稿和手机的100%的关系,所以设计稿上100px,对应这375手机上的50px,也就是50px;
document.documentElement.style.fontSize =(a/7.5) * 2 + 'px'。
rem是一个相对大小的值,它相对于根元素<html>,设置html的字体大小的值为html{font-size: 87.5%}(也就是14px)。
然后其他的字体就是将要的值除以14得到的值;
比如默认的twentytwelve主题大小是960px;换算成rem就是960/14=68.57142857142857rem;
padding的24px也就是24/14=1.714285714285714rem,以此类推。