2

http://www.w3.org/TR/html51/syntax.html#optional-tags

HTML5仕様によると:

p要素の直後にアドレス、article、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親要素がタグではないことについての最後のビットは何ですか?なぜこれが許可されるのですか?

<div>
<p>text...
</div>

しかし、これは違います:

<a>
<p>text...
</a>

仕様によると、pタグは理論的にはhttp://www.w3.org/TR/html51/text-level-semantics.html#the-a-element内で許可されていaます、なぜ例外なのですか?

4

3 に答える 3

3

<a>これは、要素がインライン要素であるためだと思います。

リスト内の他のすべて(address、article、aside、blockquote、dir、divなど)はブロックレベルであるため、インライン要素の場合とは異なり、他の要素のスコープを閉じることができます。

<a>要素は(提供したリンクに従って)ブロックレベルの要素を配置できる唯一の要素であるため、仕様で特にこの要素について言及しているのはそのためです。

于 2013-02-13T16:44:49.070 に答える
2

<p>タグが終了したときに常にタグを終了することは意味がないため<a>です。<div>'の場合、閉じている<div>場合はほぼ確実に閉じたいと思いますが、それは。<p>の場合と同じではありません<a>。そのハイパーリンクは次の段落に続く可能性があります

于 2013-02-13T16:43:28.867 に答える
1

おそらく、w3が段落を定義する方法のために許可されていません。

リストを段落内に含めることができない方法について話すとき、仕様は次のように述べています。

HTML用語では、段落は論理的な概念ではなく、構造的な概念です。上記の素晴らしい例では、この仕様で定義されているように、実際には5つの段落があります。1つはリストの前、1つは各箇条書き、もう1つはリストの後にあります。

W3は、段落を巨大なハイパーリンクではなくテキストの段落にすることを意図していたように思われます。

于 2013-02-13T16:44:45.497 に答える