移动端微信、QQ浏览器 web 用 rem 单位适配不生效问题

一、首先说下我对 rem 的理解 

rem 是根据 html 标签的根字体大小来计算客户端需要适配的大小

具体的代码虽然很多人都发了,但是我为了自己回顾时方便,再 copy 一下   

     (function (w) {
            var resizeEvt =
                "orientationchange" in window ?
                    "orientationchange" :
                    "resize";
            var docEl = document.documentElement;

            function resizeFn() {

                var docW = docEl.clientWidth; 

                if (docW > w) {
                    docW = w;
                }
                docEl.style.fontSize = (docW * 100) / w + "px";// 750px 的设计稿除 100 得到 rem
                console.log(docEl.style.fontSize)
            }
            resizeFn();
            window.addEventListener(resizeEvt, resizeFn);
        })(750);

二、在微信、QQ 浏览器中内容变大问题

我当时用的比例是 1 rem = 10 px 因为这样不至于让我写太多小数点。

我是在电脑谷歌浏览器和手机华为浏览器调试的,一切正常。

当我开始推送到微信浏览器后,我发现一切都是乱的。

我在网上找了很久也没有人给我答案,但是我发现他们用的比例都是  1rem =100 px 。

于是我重新调整了一下根字节的大小,重新计算了样式的宽高。

确实是因为我设置的根节点太小

( 1 :10(750px 的设计稿)在移动端差不多 html 的 font-size: 5px;)

导致有些浏览器识别不了那么小的字体就用浏览器默认最小字体代替导致的样式错乱。

三、父级元素在子元素变化后高度没有变化

解决办法:将父元素的 font-size : 0;

移动端使用rem做单位时图片会继承父级的font-size问题 - 飓风~~ - 博客园

最后希望对你有帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值