<style>
body {
font-size: 14px;
}
</style>
<body>
Text outside table.
<table>
<tr><td>Text inside table.</td></tr>
<tr><td>Text inside table.</td></tr>
<tr><td>Text inside table.</td></tr>
</table>
</body>我试图为我的网站指定基本字体大小,以便在其他地方我可以使用百分比或em来指定大小。
上面的html代码,如果没有body样式,字体将是相同的大小。然而,为什么用font-size的body样式像上面一样,只有“文本表外”。受到了尺寸变化的影响?不是所有的东西都封装在<body>中了吗?
我需要补充一下
table {
font-size: 1em;
}为了在我的表格中制作字体,遵循body的字体大小。为什么不像我页面中的其他<div>那样呢?这些<div>确实很好地跟随了body的font-size。
发布于 2013-12-01 13:57:55
您的页面是在怪癖模式中呈现的,可能是因为它在开始时缺少一个doctype字符串,或者是以被解释为非标准的doctype字符串开始的。
它是古怪模式的一部分,即使在“HTML5古怪模式”(试图标准化一些常见的怪癖)的有限意义下,表no也不继承字体属性。这是在HTML5中正式定义的,在一个关于渲染表的子句中。那里的定义使用了initial关键字,这个关键字还不太标准,但它只是表示CSS规范中定义的属性的初始值。对font-size来说,它确实是medium。
如果这是一个旧页面,最好接受这些怪癖,只需显式声明表的字体属性,例如
body, table { font-size: 14px }(并不是说我会建议你这么死板)。
如果这是关于您正在创建的新页面,请将<!doctype html>放在开头,并始终使用“标准”HTML和CSS。
发布于 2013-12-01 13:29:03
事实证明,Chrome默认的CSS样式“用户代理样式表”( for table )正在使用font-size: medium;,并应用于我的table (它没有任何font-size)。
因此,CSS规则被用来忽略我的body的font-size,因为table在层次结构中更深,medium大小将优先。
我想,除了将font-size样式添加到表中(最好是使用1em值)之外,没有其他更好的方法来阻止它。应用了样式之后,默认的CSS规则就没有机会被使用了。
https://stackoverflow.com/questions/20312426
复制相似问题