【发布时间】:2018-04-12 19:06:43
【问题描述】:
我想知道 HTML 文档中的内联元素是否需要块级父元素。比如下面的HTML...
<html>
<head>
</head>
<body>
<b>Some Text</b>
</body>
</html>
这是一个有效的 HTML 文档吗?还是必须将<b> 和</b> 标记封装在块级元素中才能被视为有效,例如<p> 或<div>? (希望 HTML4 和 HTML5 的答案是一样的?)
很多人都问过类似的问题:我可以将块级元素放在内联元素中吗?我想知道相反的情况:内联元素可以放在块之外的任何地方- HTML 文档中的 level 元素?
我在 RFC 中看到了这一点:
某些可能出现在 BODY 中的 HTML 元素被称为“块级”,而另一些则是“内联”(也称为“文本级”)......
通常,块级元素可能包含内联元素和其他块级元素。通常,内联元素可能只包含数据和其他内联元素。 https://www.w3.org/TR/html401/struct/global.html#h-7.5.3
但是,它并没有完全说出来。
【问题讨论】:
-
您可以验证您的 html 并查看
-
HTML 4.01 中最明显的例子是内联元素可以作为既不是块级也不是内联级的元素的子级,即作为表格单元格的子级。跨度>
-
@Alohci :
table元素是块级的,developer.mozilla.org/en-US/docs/Web/HTML/Block-level_elements。那将是“某个父母”,可能不是直接的,而是遥远的曾曾祖父母,但仍然是父母。