タグは、<div>
ブロック要素をグループ化するために使用されます。
タグは、<span>
インライン要素をグループ化するために使用されます。
インラインブロック要素をグループ化するのに適した HTML タグはどれですか? <div>
それとも<span>
何か?なんで?
あなたの最初の仮定:
タグは、
<div>
ブロック要素をグループ化するために使用されます。
タグは、<span>
インライン要素をグループ化するために使用されます。
間違っています。
この
div
要素には特別な意味はまったくありません。それはその子を表します。class、lang、および title 属性と一緒に使用して、連続する要素のグループに共通するセマンティクスをマークアップできます。
この
span
要素はそれ自体では何も意味しませんが、class、lang、または dir などのグローバル属性と一緒に使用すると便利です。それはその子を表します。
重要な違いは、div
要素にはフロー コンテンツのコンテンツ モデルがあるのに対し、span
要素にはフレージング コンテンツのコンテンツ モデルがあることです。親要素のコンテンツ モデルは、親要素に含めることができる子要素を定義するものです。
子要素がdisplay: inline-block
であるかどうかは関係ありません。子要素が適切なコンテンツ モデルに属していない場合、親要素内に有効に配置されない可能性があります。
HTML 仕様によると、<span>
はインライン要素で<div>
あり、ブロック要素です。CSSの display プロパティを使用して変更できるようになりましたが、問題が 1 つあります。HTML 検証に関しては、ブロック要素をインライン要素内に配置することはできません。
<span>...<div>foo</div>...</span>
を inline または inline-block に変更しても、厳密には有効ではありません。
したがって、要素がインラインまたはインライン ブロックの場合は、<span>
. ブロック レベルの要素の場合は、 を使用し<div>
ます。
幸運を!