2008-09-18 129 views
2

在「CSS:失蹤手冊」上撰文說,字體大小:中等(或其他尺寸關鍵詞)相對於瀏覽器的基本字體大小的字體集。CSS'font-size:medium'是否將字體設置爲.Body字體大小或* browser *的基本字體大小?

但是我所看到的FF2和IE6的是,它設置字體大小,我在.CSS HTML或BODY樣式指定(這是非常優選的)。

如果它的工作方式後,這是非常方便的,如果你有嵌套的風格,你知道你想要一些文本是正文字體大小(即「正常大小的文本」)。

回答

5

the CSS 2.1 specification

的「媒介」值是用戶的優選的字體大小和被用作參考中間值。

如果瀏覽器不這樣做,那麼瀏覽器是越野車。

-1

我認爲,如果你設置一個默認的大小就像一個容器或體內的元素,然後在孩子的任何相對字體大小是基於父元素。只有當你沒有在任何地方指定字體大小時,它才默認爲瀏覽器(它們都具有不同的大小)。

+0

'中' 是一個絕對的字體大小,而不是相對的。 – Jim 2008-09-18 16:56:37

2

它將基於父元素,以尊重級聯。如果它有幫助,我總是這樣做我的字體大小:

body { 
    font: normal 100% "Arial","Helvetica",sans-serif; 
} 
p, li, td { 
    font-size: .85em; 
} 
li p, td p { 
    font-size: 1em; 
} 

去100%的身體,然後使用EM的一切。我從不使用「小」或「中等」或類似的東西。我有更多的控制權。

編輯:

請參閱吉姆的關於「中等」是一個絕對的字體大小評論。好注意。

+0

大小關鍵字是絕對的。它們的工作方式與您使用的相對尺寸不同。 – Jim 2008-09-18 16:57:30

0

字體大小關鍵詞(XX-小,X-小,小,中,等等。)是基於用戶的默認字體大小是平臺。它也可以用於改變與父元素相關的子元素的大小。

0

如前所述,由UA(瀏覽器)設置medium,但仍然可以通過使用rem來獲得所需的行爲。 rem是相對於根元素(特別是<html>元素,而不是<body>),因此受到根元素樣式的影響。

this fiddle示範。

html 
 
{ 
 
    font-size: 60px; 
 
} 
 

 
#mediumBlock 
 
{ 
 
    font-size: medium; 
 
} 
 

 
#remBlock 
 
{ 
 
    font-size: 1rem; 
 
} 
 

 
#halfRemBlock 
 
{ 
 
    font-size: 0.5rem; 
 
}
<div id="inheritedBlock"> 
 
    Foobar inherited 
 
</div> 
 
<div id="mediumBlock"> 
 
    Foobar medium 
 
</div> 
 
<div id="remBlock"> 
 
    Foobar rem 
 
</div> 
 
<div id="halfRemBlock"> 
 
    Foobar 0.5rem 
 
</div>