17

http://www.w3.org/TR/html401/interact/forms.html#h-17.4によると、入力要素>/>. ほとんどのブラウザーは で終わる入力要素を処理できますが、その/>ような入力要素は HTML 構文規則に従って有効ですか? 言い換えれば、要素はHTML 4のよう<input ... /><br />有効ですか?

(この質問は HTML に関するものであり、XHTML に関するものではありません!!!)

4

3 に答える 3

14

構文はいくつかの場所で有効です XHTML と同じ意味ではないため、使用しないでください。

HTML 4 <foo />(ここで、fooはEMPTYとして定義された要素の名前です) は、と同じこと<foo>>を意味し<foo>&gt;ます (構文を正しくサポートするブラウザーはほとんどありませんが、Emacs-W3 は使用していましたが、標準との互換性を壊して、いわゆる HTML 互換の XHTML 1.0 ドキュメントを正しくレンダリングします)。

&gt;したがって、これは、許可されているが他の場所では許可されていない場所など、を使用できる場所で有効です((Strict の)の子要素である<img>an など)。<hr><body>

オプションの開始タグと終了タグのルールとの相互作用により、さらに複雑になります。移行文書では、これは有効です:

<link …/>
<h1>Hello, world</h1>

そして意味:

<link>
</head>
<body>
&gt;
<h1>Hello, world</h1>

この簡略構文は、次のような場合に役立つか、少なくとも時間の節約になります。

<title/The quick brown fox/

より冗長な代わりに:

<title>The quick brown fox</title>

…しかし、構文は十分にサポートされておらず、仕様では避けるべきだと述べています。

于 2010-07-08T08:41:08.000 に答える
2

実際に解決しました... W3C HTML 4バリデータによると、HTML 4で要素名を書くこのスタイルを使用しない方が良いです:

NET-enabling start-tag requires SHORTTAG YES
<br />
The sequence <FOO /> can be interpreted in at least two different ways, 
depending on the DOCTYPE of the document. For HTML 4.01 Strict, the '/' terminates 
the tag <FOO (with an implied '>'). However, since many browsers don't interpret it 
this way, even in the presence of an HTML 4.01 Strict DOCTYPE, it is best to avoid 
it completely in pure HTML documents and reserve its use solely for those written in XHTML.
于 2010-07-08T08:43:52.560 に答える
-1

HTML互換性ガイドラインから:

末尾/>空の要素の前にスペースを含めます(例:、、<br />)。また、空の要素には最小化されたタグ構文を使用します。たとえば、XMLで許可されている代替構文では、多くの既存のユーザーエージェントで不確実な結果が得られます。<hr /><img src="karen.jpg" alt="Karen" /><br /><br></br>

于 2010-07-08T08:53:07.457 に答える