58

以下のことをしたいのですが、意味的に正しいでしょうか?

<button>
  <div></div>
  <div></div>
</button>
4

6 に答える 6

55

現在の HTML5 ドラフトでは、それは正しくないとされています。

http://www.w3.org/TR/2012/WD-html5-20120329/the-button-element.html#the-button-elementには、<button>フレージング コンテンツのみを含める必要があると記載されています。フレージング コンテンツは、 を含む<span>が含まないと定義され<div>ます。

于 2012-10-19T20:54:56.197 に答える
28

いいえ、有効ではありません。W3C で確認できます。

http://validator.w3.org/#validate_by_input+with_options

これを直接入力に貼り付けてから検証します。

<!DOCTYPE html>

<button>
  <div></div>
  <div></div>
</button>

W3C でテストする場合は、UTF8 エンコーディングを設定し、HTML5 を選択します。

于 2012-10-19T20:51:50.143 に答える
4

div 要素と span 要素にはセマンティクスがありません。それらは一般的なブロック要素とインライン要素です。それらを使用するときにセマンティクスについて自問する必要がある唯一の質問は、このコンテンツに対してより良いセマンティクスを持つ要素はありますか? ということです。.

とはいえ、セマンティクスとは関係のない理由で、ボタン内に div を配置するのは正しくありません。仕様では、ボタンのコンテンツ モデルについて次のように述べています。

フレージング コンテンツ。ただし、インタラクティブ コンテンツの子孫があってはなりません。

… span はフレージング コンテンツですが、div はそうではありません。

于 2017-10-02T14:14:35.687 に答える