前段时间我使用的是w3c validator HTML5,我正在尝试使用标记来替换已弃用的<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元素,但看到了p结束标记。
但是当我更改了<pre>
代码的<code>
代码时,没有出现任何错误。
我想这是因为你不能在一个段落中有预先格式化的文本,但我没有运气搜索正则表达式或者其他可以指向其他标签内的有效标签的东西。
任何人都可以指出我这样的资源吗?
编辑:
原来我读取文档很糟糕,我没有看过块级元素。那么,现在的问题是,我如何知道哪些是有效的内联元素以及如何在其他块级元素中使用块级元素?
答案 0 :(得分:4)
借助HTML5,block
和inline
的旧类别已被扩展并替换为new content model。 block
和inline
之间的区别现在只是真正重要的in CSS。
如果查看any particular element in the spec,您会看到它有一个content categories所属的列表,可以使用该元素的类别以及其后代的允许内容模型。< / p>
p
element有一个短语内容的内容模型,因此它不能包含pre
element,因为只能在预期流内容的地方使用。