rem布局很是简单,首页你只需在页面引入这段原生js代码就能够了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){ 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);
这是rem布局的核心代码,这段代码的大意是:
若是页面的宽度超过了640px,那么页面中html的font-size恒为100px,不然,页面中html的font-size的大小为: 100 * (当前页面宽度 / 640)
因而,问题来了,为何要这样?别急,我先来一一回答css
width: 3rem; height: 2rem;
那要是宽55px,高37px呢?而后通过换算,,设置以下 ↓ width: 2.75rem; height: 1.85rem;
是否是发现这换算起来有点麻烦啊,,,(固然,你要是心算帝请无视)width: 0.55rem; height: 0.37rem;
是否是换算起来简单多了?!在rem布局中,有一些本身积累的小技巧给你们分享下。html
position: relative;
width: 100%; max-width: 640px; min-width: 320px; margin: 0 auto;
全部的元素均可以写在这个div中了,因而就能够开始写样式了position: fixed;
bottom: 0; z-index: 100; width: 100%; max-width: 640px; min-width: 320px;