http://www.w3.org/TR/html51/syntax.html#optional-tags
根据 HTML5 规范:
如果p元素后面紧跟地址、文章、aside、blockquote、dir、div、dl、fieldset、footer、form、h1、h2、h3、h4、h5、h6、header,则可以省略 p 元素的结束标记, hgroup, hr, menu, nav, ol, p, pre, section, table或ul , 元素,或者如果父元素中没有更多内容并且父元素不是 a元素。
[强调我的]
关于父元素不是a
标签的最后一点是什么?为什么允许这样做:
<div>
<p>text...
</div>
但这不是:
<a>
<p>text...
</a>
根据规范,p
理论上允许在http://www.w3.org/TR/html51/text-level-semantics.html#the-a-elementa
中使用标签,那么为什么会有例外呢?