4

W3.orgは次のように述べています

著者が空のP要素を使用することはお勧めしません。

ユーザーエージェントは空のP要素を無視する必要があります。

をどのように定義しますか?

タグ間のスペース文字は<p> </p>カウントされますか?

間の改行文字は<p> </p>どうですか?

4

3 に答える 3

7

HTML4仕様では、空の要素をコンテンツのない要素として定義しています。自己終了タグは、<br/>やなどの空の要素を確実に定義します<img/><p></p>空の要素も定義するなど、開始タグの直後に終了タグが続くことを期待するのは非常に合理的だと思います。「空」と見なされるかどうかはユーザーエージェント次第ですが、仕様からインラインコンテンツモデルの定義を<p> </p>見てみましょう。

<!-- %inline; covers inline or "text-level" elements -->
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">

「空の」コンテンツとは、次のいずれも含まれていないコンテンツです。

では、スペース文字は上記のいずれかですか?はい、 そうなので、それは空の要素ではない#PCDATAと推測します。そして、HTML4仕様の落胆に関係なく、、、およびすべて完全に有効なHTMLフラグメントです。<p> </p>P<p></p><p> </p><p/>


このような要素は、HTML5仕様では「void」と呼ばれるようになりました。

@Alohciは明確にします:

HTML5の「void要素」という用語は、インスタンスにbrやimgのようなコンテンツを含めることができない要素タイプを指し、コンテンツを持たないインスタンスを指しません。したがって、P要素のインスタンスが「void要素」を構成することはありません。

HTML5仕様では、「空」または「無効」P要素の回避についてそのようなコメントはありません。

...私は本当にそれについてあまり心配しません。

于 2013-03-05T05:12:55.813 に答える
1

技術的な観点からは、空白は重要です。メモリを消費し、独自の文字コードを持っています。空白のみを含む文字です。

とはいえ、スペースと改行文字はほとんどのブラウザで同じものです。その観点から、どちらかが付いた「p」タグは「何か」と見なされます。

ただし、これについてW3Cが言っていることと、特定のブラウザベンダーが言っていることは、多くの場合、非常に異なるものになる可能性があります。ほとんどのブラウザは私の知る限りこれを尊重しますが、「p」タグにコンテンツがない場合でもコンテンツがあるかのように扱うブラウザもあります。

ベストプラクティスは、CSSを使用して間隔と区切りを提供することです。改行だけが必要な場合は、段落の上に「br」タグを使用します。「p」タグは、言語構成「段落」で使用するためのセマンティックタグであるため、レイアウト要素として使用することはお勧めしません。

于 2013-03-05T05:14:12.343 に答える
1

<p>私の知る限り、空のタグには、、、、およびが含ま<p></p>れます。<p/><p /><p> </p>

<p><br /></p>そして<p>&nbsp;</p>(そして、本当に技術的になりたいのであれば<p> </p>、すべてのUnicode HTML空白は技術的に1〜4バイトを使用するので)技術的に空ではありませんが、それ自体を使用することは確かに推奨されません。なぜなら、それはおそらく最良の選択ではないからです。

タグは、テキストの<p>段落を含むことを目的としています。

于 2013-03-05T05:15:40.577 に答える