今天看到一個面試題為 px,em的區別,為了更好地讓讀者區分css的長度單位,我總結下css中常用的長度單位: px,em,rem,rpx
像素px是我們在定義CSS中經常用到的尺寸大小單位,而em在國外網站中經常被使用.那么px,em怎樣區分呢?
1、px像素(Pixel),相對長度單位。像素px是相對於顯示器屏幕分辨率而言的。
2、em是相對長度單位。相對於當前對象內文本的字體尺寸。如當前對行內文本的字體尺寸未被人為設置,則相對於瀏覽器的默認字體尺寸(16px)
任意瀏覽器的默認字體高都是16px。所有未經調整的瀏覽器豆腐額:1em=16px
10px=0.625px。為了簡化font-size的換算,需要在css的body選擇器中聲明font-size=62.5%,這就使em值變為16px*62.5%=10px,這樣10px=1em,也就是說只需要將原來的px數值除以10,然后換上em作為單位就可以了。
px的特點:px為固定值
em特點:
1.em的值並不是固定的
2.em會繼承父級元素的字體大小。
body選擇器中聲明font-size=62.5%,然后將原來的px數值除以10,然后換上em作為單位;重新計算那些用em為單位的數值,避免字體大小重復聲明。
也就是避免1.2*1.2=1.44的現象。比如說你在#content中聲明了字體大小為1.2em,那么在聲明p的字體大小時就只能是1em,而不是1.2em,因為此em非彼em,它因繼承#content的字體高變為了1em=12px。
rem特點:
rem是CSS3新增的一個相對單位(root em 根em),
rem與em有什么區別? 區別在於使用rem為元素設定字體大小時,仍然是相對大小,但相對的只是HTML根元素。這個單位可謂集相對大小和絕對大小的有點於一身,通過它既可以做到只修改根元素就成比例地調整所有字體大小,又可以避免字體大小逐層復合的連鎖反應
rpx 是微信小程序中的適配方案:
1px = 1物理像素 = 2 rpx;
750rpx = 325px;
即 px是 rpx的一半
在這里為大家提供一個px,em,rem單位轉換工具:
