div
をtd
の中に配置するのは良い考えではないことは知っていますが、span
やその他の要素はどうですか? td
内に配置しても問題ない要素と、そうでない要素とその理由を教えてください。
編集:問題は、古いtable
レイアウトがあり、そこで変更を加える必要があることです。そのためには、td
内に要素を追加する必要があるので、<td>
に挿入するのに最も邪悪な要素はどれですか?
HTML仕様 は、どの要素が他の要素の直接の子孫であるかを指定します。
<td>
element には flow content
コンテンツモデル。これは、次のものを含めることができることを意味します。
a abbrアドレス領域(マップ要素の子孫である場合)記事脇オーディオb bdi bdo blockquotebrボタンキャンバス引用コードコマンドデータリストdel詳細dfnダイアログdivdl emembedフィールドセット図フッターフォームh1h2 h3 h4 h5h6ヘッダーhgrouphr i iframe img input ins kbd keygen label map mark math menu Meter nav noscript object ol output p pre progress q Ruby s samp script section select small span strong style(if scoped attribute is present)sub sup svg table textarea time u ul var video wbr text
すべきではないdiv
をtable
の中に入れるという考えは、CSSでセマンティックマークアップを使用してレイアウトのスタイルを設定することに関するものです。
そうは言っても、<table>
およびその関連要素を使用して、データを表形式で表示する必要があります。テーブル内のセルの1つに、より複雑なマークアップを含めることが理にかなっている場合は、そうしてください。
過去には、 <table>
は、Webサイトにグリッドレイアウトを簡単に与えるために使用されましたが、サイトにアクセスしやすくするために、CSSを使用してこれを行う必要があります。