HTML5实现移动端之-rem布局

移动端rem布局
1.原理
rem相对于html的font-size的大小。根据此原理在不同设备下设置不同的font-size,显示的效果如出一辙,从而达到自适应的效果。
2.举例

html{
font-size:16px;
}
.area{
width:10rem;
height:5rem;
}
这时的.area的宽度就是160px,高度就是80px;

3.方法
1.根据媒体选择器设置html元素的字体大小.

    @media only screen and (min-width: 320px) {
        html{
            font-size: 20px;
        }
    }
    @media only screen and (min-width: 640px) {
        html{
            font-size: 30px;
        }
    }
假定:一个页面的宽度是 10rem;
在第一种设备下的宽度是200px;然而在第二种设备下的宽度变成了300px;
使用媒体选择器要挨个列举出不同设备的大小。需要列出用户使用的各种设备大小。

2.使用js设定html元素字体大小

<script type="text/javascript">
    (function (doc, win) {
        var docEl = doc.documentElement;//获取文档的根元素
        var resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize';
        var recalc = function () {
                var clientWidth = docEl.clientWidth;
                if (!clientWidth) return;
                if(clientWidth<=320){
                    docEl.style.fontSize = '20px';//屏幕小于320根元素字体大小恒为20px;
                }else{
                    docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';//屏幕大于320根元素大小根据一定比例大小变化。
                }
            };

        if (!doc.addEventListener) return;
        win.addEventListener(resizeEvt, recalc, false);
        doc.addEventListener('DOMContentLoaded', recalc, false);
        /*DOMContentLoaded文档加载完成不包含图片资源 onload包含图片资源*/
    })(document, window);
</script>

使用js设定字体大小的好处就是不用挨个列举设备大小。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值