在某些安卓手机上,html元素的实际大小比设置得值要大。例如(本来是25.8px的,但实际渲染成29px)。更奇葩的是,用二维码扫描是正确的,直接打开连接就会有这个问题。
在华为手Q环境下,安卓4.1
如何解决?
我目前的解决方案是:
function getStyle(ele, style) {
return document.defaultView.getComputedStyle(ele, null)[style]
}
;(function fixFontSize() {
var target = window.o2Zoom * 20
var cur = parseInt(getStyle(document.documentElement, "fontSize"))
while(cur - target >= 1) {
document.documentElement.style["fontSize"] = target - (cur - target) + "px"
cur = parseInt(getStyle(document.documentElement, "fontSize"))
}
})();
业精于勤,荒于嬉;行成于思,毁于随。