段落标签未关闭?

时间:2015-08-19 18:50:47

标签: html firefox intellij-idea

我将我的HTML代码简化为此

<!doctype html>
<body>
<div class="index-div">
    <p id="whoarewe">
        <h2>Who are we?</h2>
        wersfgse
    </p>
</div>
</body>
</html>

但是,当我运行它并打开页面源时,它会显示&#34;范围内没有p元素但是看到了p结束标记&#34;。它运行正常,但由于一些奇怪的原因,Intellij Idea和Firefox都将它显示为不必要的/ p标签。我的电脑是否出现故障?

编辑:Chrome说没关系 see look

2 个答案:

答案 0 :(得分:2)

该错误消息的含义是,当HTML处理器遇到p#whoarewe元素时,h2元素已被隐式关闭,因此该特定点的</p>结束标记似乎是无偿的因为没有开放的p元素可以关闭结束标记。

所以不,你的电脑没有故障。标记确实是格式错误。

根据您要完成的操作,#whoarewe看起来应该是自己的div元素或切片元素,而不是p。段落不能包含标题;它们是两个主题上独立的结构,不能存在于另一个中。

答案 1 :(得分:2)

属于Phrasing content类别的固定元素集可以是<p>元素的子元素:

  

短语内容是文档的文本,以及元素   在段落内标记该文本。短语的运行   内容形式段落。

a abbr area (if it is a descendant of a map element) audio b bdi bdo br button 
canvas cite code data datalist del dfn em embed i iframe img input ins
kbd keygen label map mark math meter noscript object output 
progress q ruby s samp script select small span strong sub sup svg
template textarea time u var video wbr Text

<h2>元素和许多其他块级元素一样,不属于此处。在这种情况下,<p>元素会自动关闭。引用the docs

  

如果p元素是立即的,则可以省略p元素的结束标记   接着是addressarticleasideblockquotedivdlfieldset,   footerformh1h2h3h4h5h6,{{ 1}},headerhgrouphrmain,   navolppresectiontable,元素,或者如果没有更多内容   父元素和父元素中的内容不是a   元件。

在这种特殊情况下,DOM的结构如下:

ul

...而且,正如您所看到的,结束标记并不受欢迎。实际上,您应该感谢Firefox DOM Inspector标记此错误。 )