安卓4.0下rem显示不正常的问题

Posted 无梦灬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓4.0下rem显示不正常的问题相关的知识,希望对你有一定的参考价值。

在项目中使用了rem为单位,结果在Oppo和4.0下某些浏览器rem工作不正常,font-size计算出来的px总是大于预期的值,因此加了个Hack

var docEl = doc.documentElement,
resizeEvt = ‘orientationchange‘ in window ? ‘orientationchange‘ : ‘resize‘,
recalc = function() {
var clientWidth = docEl.clientWidth;
if (!clientWidth) return;
docEl.style.fontSize = 100 * (clientWidth / 320) + ‘px‘;
correctPx()
};
// 校正
function correctPx(){
var docEl = document.documentElement;
var clientWidth = docEl.clientWidth;
if (!clientWidth) return;
var div = document.createElement(‘div‘);
div.style.width = ‘1.4rem‘;
div.style.height = ‘0‘;
document.body.appendChild(div);
var ideal = 140 * clientWidth / 320;
var rmd = (div.clientWidth / ideal);
if(rmd >1.2)
docEl.style.fontSize = 100 * (clientWidth / 320)/ rmd + ‘px‘;
document.body.removeChild(div);
}
// Abort if browser does not support addEventListener
if (!doc.addEventListener) return;
win.addEventListener(resizeEvt, recalc, false);
doc.addEventListener(‘DOMContentLoaded‘, recalc, false);


























以上是关于安卓4.0下rem显示不正常的问题的主要内容,如果未能解决你的问题,请参考以下文章

new Date()在安卓下正常,在IOS下显示不出来

H5 部分安卓机 内置浏览器低版本 不显示1px 的border

rem 在ie上的显示问题

小程序里echarts画的饼图在安卓手机上效果不正常?

安卓。片段 getActivity() 有时返回 null

h5 video 封面poster IOS下无效不显示,安卓显示正常