在“CSS:缺失的手册”中,作者说font-size:medium(或其他大小的关键字)设置相对于浏览器的基本字体大小的字体。
但我在FF2和IE6中看到的是它将字体大小设置为我在.CSS HTML或BODY样式中指定的字体大小(这是非常优选的。)
如果它以后一种方式工作,如果您有嵌套样式并且您知道某些文本是正文字体大小(即“正常大小的文本”),则这非常方便。
答案 0 :(得分:5)
答案 1 :(得分:2)
它将基于父元素,以便尊重级联。如果它有用,我总是这样做我的字体大小:
body {
font: normal 100% "Arial","Helvetica",sans-serif;
}
p, li, td {
font-size: .85em;
}
li p, td p {
font-size: 1em;
}
在身体上100%,然后使用em来做其他事情。我从不使用“较小”或“中等”或类似的东西。我有更多的控制方式。
修改强>
请参阅Jim关于“medium”是绝对字体大小的评论。值得注意的。
答案 2 :(得分:0)
字体大小关键字(xx-small,x-small,small,medium等)基于用户默认字体大小为中等。它也可以用于改变子元素相对于父元素的大小。
答案 3 :(得分:0)
如前所述,medium
由UA(浏览器)设置,但您仍然可以使用rem
获得您希望的行为。 rem
相对于根元素(特别是<html>
元素,而不是<body>
),因此受根元素样式的影响。
请参阅this fiddle进行演示。
html
{
font-size: 60px;
}
#mediumBlock
{
font-size: medium;
}
#remBlock
{
font-size: 1rem;
}
#halfRemBlock
{
font-size: 0.5rem;
}
&#13;
<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>
&#13;
答案 4 :(得分:-1)
我认为如果您将默认大小设置为容器或正文之类的元素,则子级中的任何相对字体大小都基于父元素。只有当你没有在任何地方指定字体大小时,它才会默认为浏览器(它们都有不同的大小)。