一堰燎、什么是px em rem?
- Px em rem 是css中的長度單位竣灌。其中 px 是絕對長度單位,em 和 rem 是相對長度單位秆麸。
- Px 即像素(pixel)初嘹,它最終顯示的長度是相對于屏幕分辨率而言的。
- Em 是相對單位沮趣,相對于其父元素的 font-size 值屯烦,如:父元素 font-size 值為18px 當(dāng)前元素設(shè)置了 height 為 2rem,那么計算出的高度為
18px * 2 = 36px
- Rem 是相對單位房铭,是相對于html標簽的 font-size 值驻龟,若沒有為html設(shè)置,則為默認值 16px
二缸匪、px em rem 的特點翁狐?
- Px由于是絕對長度,故使用px時凌蔬,瀏覽器無法做到字體縮放露懒。
- Em是相對單位,可以做到字體的縮放砂心,但有一個問題:em 是相對于父元素進行比例計算的懈词,所以若設(shè)置不當(dāng),會出現(xiàn)重復(fù)計算導(dǎo)致字體過大的問題辩诞,如:
<div style="font-size:2rem">
<div style="font-size:1.2rem"></div>
</div>
// 本來可能是希望子元素是默認字體16px的1.2倍坎弯,但實際計算的是 16px * 2 * 1.2
- Rem 是相對單位,可做到字體縮放。同時荞怒,它對于em會產(chǎn)生的問題做了處理。它是相對于html節(jié)點的font-size值進行比例計算的秧秉。如此一來褐桌,既可修改html一處便更新整個項目的大小比例,又不必擔(dān)心嵌套帶來的重復(fù)計算象迎。
三荧嵌、它們的實際使用
- px 直接設(shè)置即可,但需要注意用戶可能使用的設(shè)備及分辨率砾淌,若項目設(shè)置的px寬度大于設(shè)備分辨率啦撮,會出現(xiàn)滾動條,若小于設(shè)備分辨率汪厨,會出現(xiàn)空白區(qū)域
- rem 使用時一般會給html標簽設(shè)置一個font-size值赃春,這個值一般會根據(jù)設(shè)備分辨率計算出來,目的是為了在項目中設(shè)置各種節(jié)點大小時方便計算對應(yīng)的rem值