1

私は HTML5 を学んでいます。これらの要素の閉じ方が異なる理由を知りたいのですが、最初の入力は > で終わり、2 番目の入力は /> で終わります。どのような違いがありますか?

<input name = "howtosite" type = "radio"
              value = "search engine" checked> 

<input type = "color" autofocus /> 
              (Hexadecimal code such as #ADD8E6)
4

1 に答える 1

3

簡単に言えば、いくつかの用語: 紛らわしいことに、"HTML" は 2 つのことを意味するようになりました。

  • Web ページなどで使用するものを構成するさまざまな種類の要素の定義。これは、呼ばれる要素があり、それが何のためにあるのかを教えてくれdivます。
  • それの 2 つのシリアル化の 1 つ(記述された形式)。これは、div次のような要素を記述することを示しています<div>content</div>

HTML のもう 1 つのシリアル化は XHTML です。XHTML は XML であるため、2 つのシリアル化は場所が異なります。

HTML では、 のようにコンテンツを持たないいくつかの要素が定義<br>されており、HTML シリアライゼーションでは通常、 のように記述されます<br>。XHTML シリアライゼーションでは、XML ではすべてのタグを閉じる必要があり<br>、開始タグにすぎないため、これが問題になります。末尾の直前にスラッシュ ("solidus") を置くと>タグが閉じられるため、XHTML では に<br>なり<br/>ます。はHTML シリアライゼーションでは許容されますが、何の役にも立ちませ/XHTML でのみ目的を果たします。(非常に古いブラウザでは、solidus の前にスペースが必要な場合があることに注意してください<br />

これは、コンテンツをまったく持たないや などのvoid要素、および外部要素(MathML および SVG)にのみ当てはまります。たとえば、が空になる場合でも、 を書くことはありません。空の正しい形式は常に(HTML または XHTML シリアライゼーションのどちらでも) です。<br><input><div/>divdiv<div></div>

仕様の完全な詳細、特に§8.1.2.1

あなたの2つの具体的な例に関して:最初のものはHTMLシリアライゼーションでのみ有効です。2 つ目は HTML シリアライズでも有効で、autofocus属性に値があれば XHTML シリアライズでも有効です (XML では属性に値が必要なので、 と書く必要がありますautofocus="autofocus")。

于 2013-01-29T05:35:49.007 に答える