使用rem单位

 

自适应布局:http://caibaojian.com/web-app-rem.html 看了这篇才发现原来我一直理解的是错的

同上:http://caibaojian.com/rem-responsive-2.html

原因:rem只能控制字体大小吗,在ff和chrome表现不一。目前中文版chrome浏览器的默认字体大小下限是12像素,把html根元素设置为62.5%时,rem单位的取值依然是以75%(12像素)计算的。REM单位用在文本大小上也的确没有什么问题。但用在排版、间距、宽高设定上,chrome依然会受“字体最小下限”影响,比如行高,宽度等等。

rem控制字体大小都兼容,控制其他可能不兼容,会受字体最小下限影响。那怎么解决呢?

解决方法:

参考网页:https://segmentfault.com/q/1010000002411895

之后又遇到不知名的问题,ul、li标签下的span莫名用了浏览器的默认样式,使得字体撑开的间距较大,后用line-height、vertial-align修正了。

第一个自适应页面,同时加深了对rem的理解,纪念一下。。。开心

后续。。。

使用rem布局,之前采用的是媒体查询,但是众所周知,媒体查询是max-width或min-width这种情况下设置根元素的font-size,导致只是在某一范围内根元素的font-size是同一个值,最终使得布局不是等比还原UI,有一定的误差。所以使用js获得根元素的font-size大小布局更加精准。

<script>
    var UI_width = 750;
    var dom = document.getElementsByTagName('html')[0];
    window.onresize = function(){dom.style.fontSize = dom.clientWidth*100/UI_width + 'px';}
</script>

原理:

其实很简单,就是获得浏览器当前可视区域的宽度*100/UI设计稿的宽度大小,就是当前html文档的根元素大小。UI_width是UI设计稿的宽度大小,根据实际情况定。

使用:

设计稿的div的大小/100rem

举例:对于750px的浏览器页面,根元素大小为100px;你需要的实际大小为20px,你设置的大小为0.2rem,此时100*0.2=20px,是你需要的大小。同理,350px的时候,根元素大小为50px;你设置的大小为0.2rem,此时50*0.2=10px,大小等比缩放。

至于为什么用的是clientWidth?看这篇文https://www.cnblogs.com/kongxianghai/p/4192032.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值