关于rem适配的3种常用封装
发布时间:2018-07-13 17:20:35 作者:会拐弯的蜗牛
我要评论
这篇文章主要给大家介绍了关于rem适配的3种常用封装,文中通过示例代码介绍的非常详细,对各位前端开发者们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
前言
在之前写了一篇关于rem适配的文章,但是没有给出具体的封装,那么今天这里给出常用的三种方法,分享出来供大家参考学习,下面话不多说了,来随着小编一起学习学习吧
一、rem1.js
第一种方法考虑了m端屏幕旋转的问题.对兼容性做出了一定的处理,具体看代码.
export function rem (doc, win) {
let docEl = doc.documentElement;
//考虑以及兼容了 屏幕旋转的事件
let resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize';
let 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); // 页面初次打开自适应
recalc();
};
二、rem2.js
采用html标签的offsetWidth长度计算,
export function rem() {
var fz = document.querySelector('html').offsetWidth / 7.5; //设计图 750 1rem=100px
document.querySelector('html').style.fontSize =
fz <= 100 ? fz + 'px' : '100px';
window.onresize = function() {
rem();
};
};
三、rem3.js
采用window.innerWidth计算,设置了body fontSize防止字体继承,使页面字体过大.
export function rem() {
document.documentElement.style.fontSize = window.innerWidth / 7.5 + 'px'; //1rem = 100px
document.body.style.fontSize = '14px';// 在body上将字体还原大小,避免页面无样式字体超大
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
相关文章
- 这篇文章主要介绍了移动 web 端屏幕适配(rem)。详细的介绍了移动 web 端屏幕适配(rem),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-06-25
- 本篇文章主要介绍了详解html5页面 rem 布局适配方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-01-12
- 这篇文章主要介绍了详解H5 活动页之移动端 REM 布局适配方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-12-07
- 这篇文章主要介绍了手机端用rem+scss做适配的详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-11-15
当今手机种类繁多,所以不可能每一款手机都要写一套布局样式,rem 就是用来自适应布局的,本文就详细的介绍了rem 适配布局,具有一定的参考价值,感兴趣的小伙伴们可以参考2018-10-31



最新评论