簡單介紹
單位
在編寫網(wǎng)頁過程中,需要對(duì)元素(標(biāo)簽)進(jìn)行寬高、顏色。字體等的設(shè)置,這些需要使用單位。
在CSS中,設(shè)置字體和寬高使用的單位可以一致,例如:px / em / rem / ...
rem來源
rem 是 CSS3中的單位
rem和 px 的關(guān)系
px是使用最多的單位。
em 和 rem 可以和px;
具體換算規(guī)則:1em = 16px;
建議
在做移動(dòng)端項(xiàng)目時(shí),建議網(wǎng)頁使用
rem作為單位;
可以方便、快捷、容易的實(shí)現(xiàn)響應(yīng)式效果
em詳細(xì)說明
em參照父級(jí)元素大小
如果父元素font-size:20px,給子元素設(shè)置字體:font-size:1em,子元素的font-size就是20px大小
示例:
- 如果 1em = 20px;
- 2em = 40px;
- 2.5em = 30px;
- 0.5em = 10px;
em合適的使用場(chǎng)景:text-indent(首行縮進(jìn))/line-height(行高)
rem詳細(xì)說明
rem參照的是html標(biāo)簽字體大小。
rem和em的不同:
em 參照的是父元素,如果父元素沒有設(shè)置字體大小,則繼續(xù)向上查找(父元素),直至最后;
rem 直接參照 html標(biāo)簽字體大小,并且是所有使用rem單位的都是參照html標(biāo)簽,所以只需要更改html標(biāo)簽字體大小,就可以影響全部使用rem單位的標(biāo)簽;
代碼示例
html{
font-size:100px;
}
div{
font-size:0.2rem; // 20px
}
> 在做響應(yīng)式布局是,可以根據(jù)媒體查詢?nèi)フ{(diào)節(jié)`html`標(biāo)簽內(nèi)的字體大小,實(shí)現(xiàn)共同調(diào)節(jié)其他標(biāo)簽大小的效果;
> 使用媒體查詢調(diào)節(jié)`html`字體大小,效果不夠精細(xì)(大小是分段改變的);可以使用Javascript動(dòng)態(tài)計(jì)算`html的font-size`;
**代碼示例**
(function(window){
var winW = document.documentElement.clientWidth || document.body.clientWidth;
document.documentElement.style.fontSize = winW / 10 + "px";
window.onresize = function(){
var winW = document.documentElement.clientWidth || document.body.clientWidth;
document.documentElement.style.fontSize = winW / 10 + "px";
}
})(window)
## 使用注意點(diǎn)
在rem使用過程中,要時(shí)刻注意`字體最小12px`的問題;
如果設(shè)置`html的font-size`屬性的時(shí)候,`最好不要小于12px`;
如果設(shè)置了`html的font-size=10px`,使用`1rem`的時(shí)候,`其實(shí)就是 1rem = 12px`;
** 設(shè)置字體縮小**
網(wǎng)頁默認(rèn)字體最小像素為12px,如果想實(shí)現(xiàn)字體縮?。?1.transform:scale(0.1);
2.使用圖片替代;