CSS的'font-size:medium'是否将字体设置为.Body字体大小或者浏览器的基本字体大小?

时间:2020-03-06 14:22:18  来源:igfitidea点击:

在" CSS:缺少的手册"中,作者说font-size:medium(或者其他size关键字)设置相对于浏览器基本字体大小的字体。

但是我在FF2和IE6中看到的是它将字体大小设置为我在.CSS HTML或者BODY样式中指定的字体大小(这是首选)。

如果使用后一种方法,则如果我们具有嵌套样式,并且知道要使某些文本成为正文字体大小(即"普通大小的文本"),这将非常方便。

解决方案

我认为,如果我们为容器或者正文之类的元素设置默认大小,则子级中的任何相对字体大小都基于父元素。仅当我们未在任何地方指定字体大小时,它才默认为浏览器(那时它们都具有不同的大小)。

根据CSS 2.1规范:

The 'medium' value is the user's preferred font size and is used as the reference middle value.

如果浏览器不执行此操作,则说明该浏览器存在问题。

它将基于父元素,以便尊重级联。如果有帮助,我总是以这种方式设置字体大小:

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"是绝对字体大小的评论。好注意。

字体大小关键字(xx-small,x-small,small,medium等)基于用户默认的中等字体大小。它也可以用于更改子元素相对于父元素的大小的术语。