原本css是3.5vw
安卓h5不兼容 系统设置超大字体 会撑开DIV
添加如下代码
新写法 3.5rem
系统超大字体 1vw = 1rem
<script type="text/javascript">
(function (doc, win) {
var fontSize_d = 16;//默认字体大小
var fontSize =0;
try {
fontSize = parseInt(document.defaultView.getComputedStyle(document.documentElement,null)['fontSize']);
} catch (error) {}
if(!(fontSize>0))fontSize = fontSize_d;//字体大小读取失败
var cz = fontSize_d/fontSize;
var docEl = document.documentElement,
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
recalc = function () {
var clientWidth = (parseInt((docEl.clientWidth /100)*cz*100) / 100 )+ 'px';
docEl.style.fontSize = clientWidth;//100 * (clientWidth / 750) + 'px';
// document.body.style.fontSize = clientWidth;
console.log(clientWidth,fontSize,cz);
};
recalc();
window.addEventListener(resizeEvt, recalc, false);
})(document, window)
</script>

博客介绍了如何处理安卓H5页面中使用vw单位在系统设置超大字体时导致的布局问题。通过将vw单位替换为rem,并使用JavaScript动态调整根元素字体大小,确保在不同屏幕和系统字体设置下页面布局的稳定性。代码示例展示了具体的实现方法,包括监听窗口resize事件和计算vw与rem之间的转换比例。
3万+

被折叠的 条评论
为什么被折叠?



