html - 为什么除非我添加 1em,否则正文中的字体大小不会影响表格中的字体?

标签 html css fonts font-size

<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> 不都是封装的吗? ?

我需要添加

table {
    font-size: 1em;
}

为了使我的表格中的字体遵循body的字体大小。为什么我的其他情况不是这样 <div>在我的页面上?那些<div>我们确实关注了bodyfont-size很好。

最佳答案

您的页面正在 Quirks Mode 中呈现,可能是因为它缺少 doctype字符串开头或以 doctype 开头字符串解释为非标准。

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

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

body, table { font-size: 14px }

(并不是说我会推荐这种不灵活的做法)。

如果这是关于您正在创建的新页面,请输入 <!doctype html>一开始就使用“标准”HTML 和 CSS。

关于html - 为什么除非我添加 1em,否则正文中的字体大小不会影响表格中的字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20312426/

相关文章:

node.js - 在 ghost 安装中引用 @fontface

fonts - Lighthouse "Ensure text remains visible during webfont load "用于本地文件

html - 如何垂直对齐所有内容,包括列中的边框?

html - 如何为电子邮件格式化 html 表格

android - 在 Android 上查看时,网站覆盖内容不会滚动

未设置高度时 CSS 文本溢出填充

html - 是否可以使用 Font Awesome 图标来选择默认的下拉符号

javascript - 数据中具有相同值的 d3 scale 的错误使用?

html - 如何在 div 的边框下添加一个空格(边距)? |合流标题

html - Firefox 29 动画闪烁