我可以嵌套这些标签吗?

时间:2017-10-20 16:24:07

标签: html

我听说在<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>

1 个答案:

答案 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元素的孩子。
  在哪里有流量内容。

     

内容模型:
  短语内容。

- HTML Living Standard