在web開發中,有時候要求前端適配不同分辯率的顯示器。如果用px,有可能會在分辯率改變的時候造成布局混亂。因此,為了保證在屏幕分辨率改變的情況下頁面及字體跟視口的比例固定,可以在開發中使用rem,而不是px。
具體:按照一定的比例設置document對象的字體font-size,在窗口尺寸改變的時候動態改變。
在初始時執行以下代碼(代碼是參考其他項目的):
(function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = function () { var clientWidth = docEl.clientWidth; if (!clientWidth) return; docEl.style.fontSize = (clientWidth / 120) + 'px'; }; if (!doc.addEventListener) return; win.addEventListener(resizeEvt, recalc, false); doc.addEventListener('DOMContentLoaded', recalc, false); })(document, window);
ps:我們UI設計頁面的時候以1920為寬度,除以120正好是16px,即1rem=16px;