qq内嵌浏览器居中兼容

今天在做一个移动端的H5页面时,在chrome浏览器上模拟时,在手机qq浏览器以及其它手机端浏览器布局都没啥问题:



但是当我在qq里面用其内嵌的浏览器打开的时候确是这样的:


没有按我的预期居中排布,偏右了。我的宽度和定位都是用的rem,猜测应该是内置浏览器对于rem的定义不同,但也不对啊,rem是根据屏幕宽度计算出来的啊:

<script>
        (function () {
            var hWidth = document.documentElement.clientWidth;
            var html = document.getElementsByTagName('html')[0];
            //以i6位基础时hWidth = 750,1rem=100px,则body宽度为7.5rem
            html.style.fontSize = hWidth / 7.5 + 'px';//1rem
        })()
    </script>

那归结下来只能是qq内置浏览器没有运行这段代码计算rem,还是用的其默认的rem长度

width: 5.6rem;
      height: 7.5rem;
      padding: .4rem .2rem;
      position: absolute;
      left: 0.75rem;
      top: 1.2rem;
0.75*2+5.5+0.2*2=7.5

这个计算是没问题的,但实际显示却没有居中!一直没想明白。

暂时在外面包了一个外框,用margin:0 auto;相对定位了



很明显可以看到,虽然宽度也是80%,但明显比实际的80%宽了好多,差不对是90%的宽度了。至少把居中的问题解决了

猜你喜欢

转载自blog.csdn.net/dongguan_123/article/details/72954453