css中rem是怎么计算的,是怎么自适应手机端,匹配设计稿的
程序员文章站
2022-03-23 11:17:01
好多小伙伴当学习到移动端的时候,首先就会接触到的是移动端的单位,因为在移动端布局就不太适合用px(一些字体还是需要继续使用px)首先先介绍一下都有那些单位:px、em、pt、rem、%、vh、dp今天我们来介绍的是rem单位首先大家需要知道一个数值,那就是750px没错这个750就是iPhone6、7、8的屏幕宽度,因为750这个宽度的需求还是比较大的因此,UI的设计稿一般都是设置的750px的设计稿,但是这时候问题就来了,但是好多安卓手机他不是750px的宽度啊,那怎么办呢。所以就用到了自适...
好多小伙伴当学习到移动端的时候,首先就会接触到的是移动端的单位,因为在移动端布局就不太适合用px(一些字体还是需要继续使用px)
首先先介绍一下都有那些单位:
px、em、pt、rem、%、vh、dp
今天我们来介绍的是rem单位
首先大家需要知道一个数值,那就是750px
没错这个750就是iPhone6、7、8的屏幕宽度,因为750这个宽度的需求还是比较大的因此,UI的设计稿一般都是设置的750px的设计稿,但是这时候问题就来了,但是好多安卓手机他不是750px的宽度啊,那怎么办呢。所以就用到了自适应单位rem
移动端 rem自适应布局 (750的设计稿)
本文章向大家介绍 移动端 rem自适应布局 (750的设计稿) ,主要包括 移动端 rem自适应布局 (750的设计稿)
(function(doc, win) {
var docEl = doc.documentElement,
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
recalc = function() {
var clientWidth = docEl.clientWidth;
if (!clientWidth) return;
if (clientWidth >= 750) {
docEl.style.fontSize = '100px';
} else {
docEl.style.fontSize = 100 * (clientWidth / 750) + 'px';
}
};
if (!doc.addEventListener) return;
win.addEventListener(resizeEvt, recalc, false);
doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);
接下来可能就会还有小伙伴疑问了,上面的值写的就是750px的宽度啊,如果不到750px宽度的怎么办呢。
-
首先如果手机屏幕为750px的手机,那么1rem=100px(因为手机大本身就需要大字体)
-
然后如果手机屏幕小于750px的手机,假如说375px的手机,那么1rem=50px(因为手机小所以本身就会自适应的比较小)
所以通过以上代码就可以解决了手机端单位的自适应
如果介绍对您有帮助请您点个赞,创作不易,kukudehu!
本文地址:https://blog.csdn.net/weixin_46003019/article/details/109248443