2008-09-18 38 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>