关于如何计算rem

JavaScript07

关于如何计算rem,第1张

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