web-dev-qa-db-ja.com

テーブル内のdiv

W3cに従って、テーブル内のdivが許可されているかどうかを誰かに教えてもらえますか

32
andrew Sullivan
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  <head>
    <title>test</title>
  </head>
  <body>
    <table>
      <tr>
        <td>
          <div>content</div>
        </td>
      </tr>
    </table>
  </body>
</html>

このドキュメントはXHTML 1.0 Transitionalとして正常にチェックされました!

42
echox

次のように、divの中にtable直接を入れることはできません。

<!-- INVALID -->
<table>
  <div>
    Hello World
  </div>
</table>

ただし、divまたはtd要素内にthを配置しても問題ありません。

<!-- VALID -->
<table>
  <tr>
    <td>
      <div>
        Hello World
      </div>
    </td>
  </tr>
</table>
38
Pär Wieslander

divタグをtdタグ内に配置できますが、テーブルまたはtrタグ内に直接配置することはできません。例:

これは動作します:

<table>
  <tr>
    <td> 
      <div>This will work.</div> 
    </td>
  </tr>
<table>

これは動作しません:

<table>
  <tr>
    <div> this does not work. </div> 
  </tr>
</table>

また、これは機能しません:

<table>
  <div> this does not work. </div>
</table>
15
Paul

ここで他の人が指摘したように、TD(TABLEの直接の子としてではなく)の中にDIVを置くことができますが、TDの子としてDIVを使用することは強くお勧めします。 、もちろん、あなたは頭痛のファンです。

幅、マージン、境界線など、2つを組み合わせたときにどのように処理されるかに関するクロスブラウザの不一致が多いため、得られるものはほとんどなく、失われるものはまったくありません。クライアントがこのブラウザまたはそのブラウザでHTMLを正しく表示するのに問題があったため、クライアントのためにそのようなマークアップを何回クリーンアップしなければならなかったかはわかりません。

繰り返しになりますが、物事の見栄えがよくない場合は、このアドバイスを無視してください。

9
Robusto

TDにはインラインANDブロック要素を含めることができます。

ここで参照でそれを見つけることができます: http://xhtml.com/en/xhtml/reference/td/#td-contains

2
2ndkauboy