2010-06-04 5 views
30

Quelqu'un peut-il me dire si div dans une table est autorisée ou non selon w3cdiv dans la table

+2

Avez-vous regardé dans la spécification, ou l'avez-vous essayé dans le validateur? – RoToRa

Répondre

36
<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> 

Ce document a été vérifié avec succès comme XHTML 1.0 Transitional!

+1

Merci les gars, ça m'aide à résoudre mon problème. – Sudhakar

15

vous pouvez mettre des balises div dans une balise td, mais pas directement dans une balise de table ou tr. exemples:

, cela fonctionne:

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

cela ne fonctionne pas:

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

pas plus ce travail:

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

33

Vous ne pouvez pas mettre un divdirectement dans un table, comme ceci:

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

Mettre un div dans un élément td ou th est bien, cependant:

<!-- VALID --> 
<table> 
    <tr> 
    <td> 
     <div> 
     Hello World 
     </div> 
    </td> 
    </tr> 
</table> 
+0

Merci les gars ça m'aide à résoudre mon problème. – Sudhakar

+1

vous n'avez pas mentionné = P –

9

Bien que vous pouvez, comme d'autres l'ont noté ici, mettre un DIV dans un TD (pas comme un enfant direct de TABLE), je déconseille vivement d'utiliser un DIV comme un enfant d'un TD. Sauf, bien sûr, vous êtes un fan de maux de tête.

Il y a peu à gagner et beaucoup à perdre, car il existe de nombreuses différences entre navigateurs concernant la façon dont les largeurs, les marges, les bordures, etc. sont traitées lorsque vous combinez les deux. Je ne peux pas vous dire combien de fois j'ai dû nettoyer ce type de balisage pour les clients parce qu'ils avaient du mal à afficher correctement leur HTML dans tel ou tel navigateur.

Encore une fois, si vous n'êtes pas pointilleux sur l'apparence des choses, ne tenez pas compte de ce conseil.