我听说在<p>
标记中使用<h1>
标记是错误的,并且在另一个<p>
标记内使用<p>
标记也是错误的。是这样的吗?
<!DOCTYPE html>
<html>
<body>
<h1>There was <p>before us a long <h3>piece </h3> of level road by the </p>riverside.</h1>
<p>John said to me, <b>"Now, <p>Beauty</p>, do your best"</b> and so I did</p>
</body>
</html>
答案 0 :(得分:0)
根据HTML规范,有些&#34; flow&#34;元素不应包含其他&#34; flow&#34;元素。 <p>
和<h1-6>
元素可用于预期"flow content"的位置,但预计仅包含"phrasing content"。因此,它们不应相互包含。
你可能会问自己:&#34;为什么我要嵌套<p>
标签?我想要完成什么?&#34;这可能是实现这一目标的更有效方法。如果您使用这些标签来更改文本的外观或样式,我建议使用结构合适的标记,然后根据需要使用CSS设置样式。
例如,如果您尝试将两个段落组合在一起,请考虑将它们包装在<div>
中,而不是嵌套两个<p>
:
作者希望方便地设计这样的&#34;逻辑&#34;由多个&#34;结构&#34;组成的段落段落可以使用div元素而不是p元素。 - the p element
HTML规范表明:
<p>
标签不应嵌套
<p>
标记被视为&#34;流元素&#34;并且只能包含&#34;措词内容&#34;。
换句话说,段落包含文本,但不包含另一段。
<h1>
标记不得包含<p>
个标记
同样的理由适用于此。这两个&#34;流动元素&#34;只能包含&#34;措词内容&#34;而且不应该相互包含。考虑使用不同的子元素,如<span>
。另请参阅this answer about "p inside h1"。
<h1>
标记不应包含其他标题标记,例如<h3>
在我看来,标题是&#34;一级&#34; 或&#34;第三级&#34;。嵌套它们没有意义。请参阅this answer about "h2 in h1"。
供参考:
4.4.1 p元素
<强>分类强>
流量内容。
可触及的内容。可以使用此元素的上下文:
在哪里有流量内容。内容模型:
短语内容。
4.3.6 h1,h2,h3,h4,h5和h6元素
<强>分类强> 流量内容。
标题内容。
可触及的内容。可以使用此元素的上下文:
作为hgroup元素的孩子。
在哪里有流量内容。内容模型:
短语内容。