2010-12-11 24 views
0

我正在看的一個主要網站的CSS有什麼似乎是一種奇怪的方式來管理他們在CSS中的字體大小。首先,身體選擇具有這樣的:請解釋這種字體大小結構

body { 
font:62.5%/1.5 Helvetica,Arial,FreeSans,sans-serif; 
} 

再後來就得到了H2字體自定義尺寸他們這樣做:

h2 { 
font-size:3em; 
} 

如果你更改字體的指令在任何這些地方中, h2的字體大小會改變,看起來不正確。因此,他們有明確的管理通過這些指令的組合,字體大小,我想知道爲什麼他們會這樣去做....

問題:

  1. 爲什麼H2字體不簡單地覆蓋身體字體?它就像身體字體在其尺寸上起到乘數的作用...

  2. 這個設計的動機是什麼?

感謝, 約拿

回答

1

爲什麼H2字體不能簡單地壓倒一切的正文字體?這就像身體字體在其大小上起到乘數的作用...

因爲在CSS中,em是一個相對計量單位。因此,對於<h2>元素,基礎尺寸的62.5%的3個ems意味着187.5%的基礎尺寸。

這個設計的動機是什麼?

設置爲body元素的百分比值意味着 - %是衡量相對單位太 - 用戶可以使用他的瀏覽器的文字大小設置一整頁文本調整。我猜測62.5%的值是因爲瀏覽器的默認字體大小會導致整個主體副本過大(請記住,這是在body元素上應用的)。我的網站使用90%,這不是那麼小,但你明白了。

+0

確定這是有道理的,何必讓底座尺寸62.5?爲什麼不離開基地作爲基地,並做1.87em或任何你想要的東西? – Jonah 2010-12-11 18:55:38

+0

@Jonah:這樣,我不必完全指定所有標準正文文本,我希望62.5%的瀏覽器默認。我可以只做一次,稍後重寫。這是CSS的重要原則之一:) – Matchu 2010-12-11 18:58:38

+1

62.5%等同於將值設置爲10px(在大多數瀏覽器中,默認值爲16px),但也可以讓用戶的本地字體大小設置生效。 px應該是一個可擴展的單元,但有些瀏覽器認爲它是絕對的屏幕像素。 – 2010-12-11 19:00:16

1

1em等於默認字體大小。瀏覽器中的默認文字大小爲16px。除非你改變了默認值,那就是。

此處默認值定義爲瀏覽器默認值的62.5%,線高爲1.5。

3em是默認大小設置的3倍。

因此,當您更改主體默認設置時,它會影響使用em尺寸單位的每個位置,包括使用默認設置爲3倍的h2標記。

0

通常瀏覽器定義了16px的默認字體大小。但是,他是一個相對單位。因此,舉例來說,如果你有一個設置字體大小,將其設置爲62.5%,集裝箱/的

1 em = 1 times 16px = 16px 
1.5 em = 1.5 times 16px = 24px 
2 em = 2 times 16px = 32px 

因此DIV,它減少到您參考字體大小爲10px默認。

這意味着這種技術使得它更容易,當你在可視化的像素字體大小,

1 em = 10px 
1.5em = 15px 
2em = 20px 
+0

這是有幫助的,但不是問題的答案。問題1)爲什麼h2字體不能簡單地覆蓋正文字體? 2)這個設計的動機是什麼? – PaulBinder 2014-08-27 17:58:31

+0

當你設置你的身體字體大小爲62.5%時,這意味着你的字體大小現在是10px而不是默認的16px。因此,如果你不指定你的h2字體大小,它將是10px。讓3em覆蓋從10px到3(em)* 10px = 30px的h2字體大小。我希望這可以進一步澄清 – 2014-08-28 04:10:09