布局之rem

1.利用媒体查询:
  首先,设置html里的font-size属性。值为62.5%,62.5%=10/16,默认的基数就为10,想要的px值/10(默认基数)就是rem;如果值设为100%,100%=16/16,基数就为16,不方便px换算rem。在代码注释里有详细的解释和计算公式。

html{font-size:62.5%;}   /*基数设为10.   62.5%=10/16 基数为10  基数为什么设为10,后面的字体大小需要px/基数,基数为10方便计算
							百分数=基数/16    100%=16/16  基数为16
							px换算rem   公式=想要的px值/基数   基数为10方便计算
						 */

所以,我推荐使用基数为10,设置html里的font-size属性值为62.5%即可,之后将页面里的px除以10(如果想要25px,换成rem,25px/10(默认基数)=2.5rem)。高度使用rem,宽度使用rem和百分比。
  然后在媒体查询的几个css中,采用不同的rem来设置大小。
2.js动态计算赋值:

//js获取viewport来进行根元素字体大小的计算
<script type="text/javascript">
    (function (doc, win) {
        var docEl = doc.documentElement,
        resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
        recalc = function (){
            var clientWidth = docEl.clientWidth;
            if (!clientWidth) return;
                if(clientWidth>=640){//640是以phone5s的分辨率,可以自行修改
                    docEl.style.fontSize = '100px';
                }else{
                    docEl.style.fontSize = 100 * (clientWidth / 640) + 'px';//同上
                }
        };
        if(!doc.addEventListener) return;
        win.addEventListener(resizeEvt, recalc, false);
        doc.addEventListener('DOMContentLoaded', recalc, false);
    })(document, window);
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值