美文网首页前端面试题
移动端适配, 通过动态设置html的font-size结合rem

移动端适配, 通过动态设置html的font-size结合rem

作者: 辛巴达 | 来源:发表于2020-12-14 17:37 被阅读0次

index.html中

注意设置的 clientWidth / 375 的分母的值 375 为对照设计稿的宽度比例取值的大小

<script>
    (function(doc, win) {
        var _root = doc.documentElement,
            resizeEvent = 'orientationchange' in window ? 'orientationchange' : 'resize',
            resizeCallback = function() {
                var clientWidth = _root.clientWidth,
                    fontSize = 10;
                if (!clientWidth) return;
                if (clientWidth < 640) {
                    fontSize = 10 * (clientWidth / 375);
                } else {
                    fontSize = 16;
                }
                _root.style.fontSize = fontSize + 'px';
            };
        if (!doc.addEventListener) return;
        win.addEventListener(resizeEvent, resizeCallback, false);
        doc.addEventListener('DOMContentLoaded', resizeCallback, false);
    })(document, window)
  </script>
  • 使用时
// vue
<div class="phone"></div>
// css
.phone {
  width: 20rem; // 20 * 10 = 200px 以宽度为 375 iphone 6 的设计稿宽度200px对比设置改值即可
}

相关文章

网友评论

    本文标题:移动端适配, 通过动态设置html的font-size结合rem

    本文链接:https://www.haomeiwen.com/subject/lbtbgktx.html