rem是相對於根元素html的默認或者自定義的文字大小進行縮放的,子元素是根元素html的字體大小縮放的。
原理:相對於頁面寬度的幾分之幾,相對頁面寬度而言的,所以頁面響應比較好。
html默認的1rem==16px,在響應式布局中,一個個除來轉換成rem,太麻煩,所以重置rem
body{font-size=62.5% /* 10/16=62.5% */} 此時1rem = 10px;若是12px則是1.2rem.后面元素的具體的樣式就是直接以rem做單位
在body也可以自行轉換回來。
方法2:一般用這個的多些 這個是設置html的font-size ,1rem==此刻設置的文字的大小
重置的代碼(請放在css文件引入之前):750px的設計圖 按照標注的像素直接1:1轉換成rem就可以了 ,最后呈現的大小就是標注的像素的二分之一 這樣前端實現ui圖方便些
(function (doc, win) {
var docEl = doc.documentElement,
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
recalc = function () {
var clientWidth = docEl.clientWidth;
if (!clientWidth) return;
var Size = Number(100 * (clientWidth / 750)).toFixed(2);
if (Size < 42) {
Size = 42;
} else if (Size > 100) {
Size = 100;
} else {
Size = Size;
}
var Size = Size + 'px';
docEl.style.fontSize = Size;
};
console.log(docEl);
recalc();
win.addEventListener(resizeEvt, recalc, false);
})(document, window);