关于rem

关于rem

<script type="text/javascript">

(function () {

var docEl = document.documentElement;



function setRemUnit(){

// 获取到rem的基准值

var rem = docEl.clientWidth / 10;


// 动态设置html根元素的font-size

docEl.style.fontSize = rem + 'px';

}


setRemUnit();


// 窗口大小变化时 触发

window.addEventListener('resize', setRemUnit);


// 窗口出现在当前屏幕时 (有浏览器兼容性)

window.addEventListener('pageshow', function(e){

if (e.persisted) {

setRemUnit();

}

});

})();

</script>

为什么rem的基准值要是html标签的宽度/10,即是浏览器视口宽度/10? 与之前的px2rem插件的37.5有什么关系?

设置html的字体大小不是之前移动端屏幕适配里提及到的 视口宽度/设置的比例ratio 比如视口宽度是750px,设置ratio为18.75。750px/18.75=40px 然后1rem=40px?

涉及到的dpr问题上面的代码如何解决?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕星星 2019-06-04 15:21:56

你好,rem的基准值是自己设置的,不是固定的值,所以设置html字体大小为:docEl.clientWidth / 10或者37.5px或者40px都是可以的。

同学说dpr的意思是想要解决1像素问题吗?这段代码中并没有解决,如果想要解决的话,可以直接引入之前移动端屏幕适配里面封装好的js文件。

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师