移动端自适应rem 布局篇

相信很多刚开始写移动端页面的同学都要面对页面自适应的问题,当然解决方案很多,比如:百分比布局,弹性布局flex(什么是flex),也都能获得不错的效果,这里主要介绍的是本人在实践中用的最顺手最简单的布局方案——rem(什么是rem)布局

rem这个单位相比em更强大,可谓集相对大小和绝对大小的优点,它可以做到只修改根元素就可以成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。 目前,除了IE8及更早版本外,所有浏览器均已支持rem。
优点:更加灵活人性化,不受父级元素影响

缺点:。。。原谅我暂时想不出来

其 主要原理就是 根据手机屏幕宽度动态改变html的fontsize值   而页面中凡是使用到rem的单位都会根据html的值动态发生改变  这里我处理了下 当屏幕大于750px时  就不在自适应了 直接固定了为ios6的手机屏幕的显示效果

使用方法: 直接将下面这段代码 引入head中  就可以开始使用rem的布局了 大多移动网页都使用了此布局 淘宝 拉钩...  效果如下:

 

 

相信大家都看得懂以上js代码  就不做过多原理解释了 使用过程中 100px=1rem  附源码如下:

<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>=750){var maxlen=100*(clientWidth/750);if(maxlen>100){docEl.style.fontSize=50+'px'}else{docEl.style.fontSize=100*(clientWidth/750)+'px'}}else{docEl.style.fontSize=100*(clientWidth/750)+'px'}};if(!doc.addEventListener){return}win.addEventListener(resizeEvt,recalc,false);doc.addEventListener('DOMContentLoaded',recalc,false)})(document,window);</script>

 

posted on 2017-11-24 10:56  Hwu5  阅读(220)  评论(0编辑  收藏  举报

导航