首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么正文中的字体大小不影响表中的字体,除非我添加1em?

为什么正文中的字体大小不影响表中的字体,除非我添加1em?
EN

Stack Overflow用户
提问于 2013-12-01 13:07:42
回答 2查看 3.8K关注 0票数 2
代码语言:javascript
复制
<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-sizebody样式像上面一样,只有“文本表外”。受到了尺寸变化的影响?不是所有的东西都封装在<body>中了吗?

我需要补充一下

代码语言:javascript
复制
table {
    font-size: 1em;
}

为了在我的表格中制作字体,遵循body的字体大小。为什么不像我页面中的其他<div>那样呢?这些<div>确实很好地跟随了bodyfont-size

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-01 13:57:55

您的页面是在怪癖模式中呈现的,可能是因为它在开始时缺少一个doctype字符串,或者是以被解释为非标准的doctype字符串开始的。

它是古怪模式的一部分,即使在“HTML5古怪模式”(试图标准化一些常见的怪癖)的有限意义下,表no也不继承字体属性。这是在HTML5中正式定义的,在一个关于渲染表的子句中。那里的定义使用了initial关键字,这个关键字还不太标准,但它只是表示CSS规范中定义的属性的初始值。对font-size来说,它确实是medium

如果这是一个旧页面,最好接受这些怪癖,只需显式声明表的字体属性,例如

代码语言:javascript
复制
body, table { font-size: 14px }

(并不是说我会建议你这么死板)。

如果这是关于您正在创建的新页面,请将<!doctype html>放在开头,并始终使用“标准”HTML和CSS。

票数 7
EN

Stack Overflow用户

发布于 2013-12-01 13:29:03

事实证明,Chrome默认的CSS样式“用户代理样式表”( for table )正在使用font-size: medium;,并应用于我的table (它没有任何font-size)。

因此,CSS规则被用来忽略我的bodyfont-size,因为table在层次结构中更深,medium大小将优先。

我想,除了将font-size样式添加到表中(最好是使用1em值)之外,没有其他更好的方法来阻止它。应用了样式之后,默认的CSS规则就没有机会被使用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20312426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档