HTML中單位em和px

2021-05-27 03:08:06 字數 1251 閱讀 5452

最近開始 搞html5,因為以前寫後台程式比較多,前端也只是馬虎馬虎寫寫。

一下子要惡補許多css的知識。覺得單位是最基本的,就從單位搞起:)

字型單位應該用em而不用px,原因簡單來說就是支援ie6下的字型縮放,在頁面中按ctrl+滾輪,字型以px為單位的**沒有反應。px是絕對單位,不支援ie的縮放,em是相    對 單位。

我在調整本blog的時候,發現不僅僅是字型,將行距(line-height),和縱向高度的單位都用em。保證縮放時候的整體性。 

em指字型高,任意瀏覽器的預設字型高都是16px。所以未經調整的瀏覽器都符合: 1em=16px。那麼12px=0.75em, 10px=0.625em。為了簡化font -size的換算,需要在css中 的body選擇器中宣告font-size=62.5%,這就使em值變為16px*62.5%=10px, 這樣12px=1.2em, 10px=1em, 也就是說只需要將你的原來的px數值除以10,然後換上em作為單位就行了。em有如下特點:

1. em的值並不是固定的;

2. em會繼承父級元素的字型大小。

重寫步驟:

1. body選擇器中宣告font-size=62.5%;

2. 將你的原來的px數值除以10,然後換上em作為單位;

簡單吧,如果只需要以上兩步就能解決問題的話,可能就沒人用px了。經過以上兩步,你會發現你的**字型大得出乎想象。因為em的值不固定,又會繼承父級 元素的大小,你可能會在content這個div裡把字型大小設為1.2em, 也就是12px。然後你又把選擇器p的字型大小也設為1.2em,但如果p屬於content的子級的話,p的字型大小就不是12px,而是1.2em= 1.2 * 12px=14.4px。這是因為content的字型大小被設為1.2em,這個em值繼承其父級元素body的大小,也就是16px * 62.5% * 1.2=12px, 而p作為其子級,em則繼承content的字型高,也就是12px。所以p的1.2em就不再是12px,而是14.4px。

3. 重新計算那些被放大的字型的em數值。避免字型大小的重複宣告,也就是避免以上提到的1.2 * 1.2= 1.44的現象。比如說你在#content中宣告了字型大小為1.2em,那麼在宣告p的字型大小時就只能是1em,而不是1.2em, 因為此em非彼em,它因繼承#content的字型高而變為了1em=12px。

px畫素(pixel)。相對長度單位。畫素px是相對於顯示器螢幕解析度而言的。

em是相對長度單位。相對於當前物件內文字的字型尺寸。如當前對行內文字的字型尺寸未被人為設定,則相對於瀏覽器的預設字型尺寸。

HTML中單位em和px

最近開始 搞html5,因為以前寫後台程式比較多,前端也只是馬虎馬虎寫寫。一下子要惡補許多css的知識。覺得單位是最基本的,就從單位搞起 字型單位應該用em而不用px,原因簡單來說就是支援ie6下的字型縮放,在頁面中按ctrl 滾輪,字型以px為單位的 沒有反應。px是絕對單位,不支援ie的縮放,e...

CSS中em單位和px單位的區別

這裡引用的是jorux的 95 的中國 需要重寫css 的文章,題目有點嚇人,但是確實是現在國內網頁製作方面的一些缺陷。我一直也搞不清楚px與em之間的關係和特點,看過以後確實收穫很大。平時都是用px來定義字型,所以無法用瀏覽器字型放大的功能,而國外大多數 都可以在ie下使用。因為 1.ie無法調整...

CSS中單位px和em的區別

你對css中單位px和em的區別是否了解,這裡和大家分享一下,px畫素 pixel 是相對長度單位,相對於顯示器螢幕解析度而言的 而em也是相對長度單位,相對於當前物件內文字的字型尺寸。rem也是相對長度單位 可以認為是特殊的em 相對於根元素的字型尺寸。如當前對行內文字的字型尺寸未被人為設定,則相...