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'。
下面一段代码给大家介绍了Js动态设置rem来实现移动端字体的自适应,以此做个记录,方便以后需要,感兴趣的朋友一起看看吧。具体代码如下所示:
//设置根元素字体
var
win
=
window,
doc
=
document
function
setFontSize()
{
var
winWidth
=
$(window).width()
//750这个数字是根据你的设计图的实际大小来的,所以值具体根据设计图的大小
var
size
=
(winWidth
/
750)
*
100
doc.documentElement.style.fontSize
=
(size
<
100
?
size
:
100)
+
'px'
}
//这里我们给个定时器来实现页面加载完毕再进行字体设置
setTimeout(function()
{
//初始化
setFontSize()
},
100)
以上所述是小编给大家介绍的Js动态设置rem来实现移动端字体的自适应代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
通过js动态获取屏幕的宽度(document.clientWidth)然后根据屏幕宽度动态计算出rem的实际值。
假设,640px的设备 1rem = 100px
公式: rem = document.clientWidth / 640 * 100px