4

不久前,我正在使用 HTML5 的w3c 验证器,并且正在尝试使用标签来替换已弃用的<tt>标签。我输入了这个小例子:

<!DOCTYPE html>
<html>
<head><title>Valid tags inside other tags</title></head>
<body>

<p>Inside paragraph you cannot use <pre>preformated text</pre></p>

</body>
</html>

并得到这个错误:

第 6 行,第 66 列:范围内没有 p 元素,但看到了 ap 结束标记。

但是当我更改<pre>标签的<code>标签时,没有引发错误。

我想这是因为您不能在段落中包含预先格式化的文本,但是我没有运气搜索正则表达式或可以将我指向其他标签内的有效标签的东西。

任何人都可以指出我这样的资源吗?

编辑:

原来我不擅长阅读文档,而且我没有看过块级元素。所以,现在的问题是,我如何知道哪些是有效的内联元素以及如何在其他块级元素中使用块级元素?

4

1 回答 1

4

在 HTML5 中,旧的类别blockinline已被扩展并被新的内容模型取代。block和之间的区别现在只在 CSS 中inline真正重要。

如果您查看规范中的任何特定元素,您会看到它具有它所属的内容类别列表、可以使用该元素的类别以及其后代的允许内容模型。

p元素具有短语内容的内容模型,因此它不能包含pre元素,因为它只能用于预期流内容的地方。

于 2012-12-03T11:46:06.343 回答