您的位置:首页 > 移动开发

HTML5实现移动端之-rem布局

2017-05-25 18:15 681 查看
移动端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设定字体大小的好处就是不用挨个列举设备大小。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: