em和rem簡單介紹
簡介
單位
在編寫網(wǎng)頁過程中,需要對元素(標(biāo)簽)進行寬高、顏色、字體等的設(shè)置,這些需要使用單位
在css中,設(shè)置字體和寬高使用的單位可以一致,例如:px/em/rem/...
rem來源
rem是CSS3中的單位
和px的關(guān)系
px是使用最多的單位
em和rem可以和px進行換算,就比如克和千克之間可以換算一樣
具體換算規(guī)則,在下面詳細說明。
建議
在做移動端項目的時候,建議使用
rem作為單位
可以方便、快捷、容易的實現(xiàn)響應(yīng)式布局
em詳細說明
em參照父級元素大小
如果父元素font-size:20px,給子元素設(shè)置字體font-size:1em;,子元素其實就是20px的大小
示例:
- 設(shè)定 1em = 20px
- 2em = 40px
- 2.5em = 50px
- 0.5em = 10px
em合適的使用場景是:text-indent(首行縮進) / line-height(行高)
rem詳細說明
rem參考的是html標(biāo)簽字體大小
rem和em不同點就是em參考各自的父元素,如果父元素沒有設(shè)置字體大小,則繼續(xù)向上查找(父父元素),直至最后
rem直接參考html標(biāo)簽字體大小,并且是所有使用rem單位的都是參照html標(biāo)簽
作業(yè)只需要更改html標(biāo)簽字體大小,就可以影響全部使用rem單位的標(biāo)簽
代碼示例
html {
font-size:100px;
}
.title {
width:5rem; /*500px*/
height:5rem; /*500px*/
font-size: .3rem;/*30px*/
在做響應(yīng)式布局的網(wǎng)站時,可以根據(jù)媒體查詢?nèi)フ{(diào)節(jié)
html標(biāo)簽的字體大小,實現(xiàn)共同調(diào)節(jié)其他標(biāo)簽大小的效果
使用媒體查詢調(diào)節(jié)html字體大小,效果不夠精細(大小是分段改變的),可以使用js動態(tài)計算html的font-size
使用注意點
在rem使用過程中,要時刻注意字體最小12px的問題
設(shè)置html的font-size屬性的時候,最好不要小于12px
如果設(shè)置了10px,使用1rem的時候,其實是12px,因為最小12px