Quelqu'un peut-il me dire si div à l'intérieur d'une table est autorisé ou non selon w3c
<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 en tant que XHTML 1.0 Transitional!
Vous ne pouvez pas mettre un div
directement à l'intérieur d'un table
, comme ceci:
<!-- INVALID -->
<table>
<div>
Hello World
</div>
</table>
Cependant, mettre un div
à l'intérieur d'un élément td
ou th
est correct:
<!-- VALID -->
<table>
<tr>
<td>
<div>
Hello World
</div>
</td>
</tr>
</table>
vous pouvez placer des balises div à l'intérieur d'une balise td, mais pas directement à l'intérieur d'une table ou d'une balise tr. exemples:
cela marche:
<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>
cela ne fonctionne pas non plus:
<table>
<div> this does not work. </div>
</table>
Bien que vous puissiez, comme d'autres l'ont noté ici, mettre un DIV dans un TD (pas en tant qu'enfant direct de TABLE), je déconseille fortement d'utiliser un DIV en tant qu'enfant d'un TD. , bien sûr, vous êtes fan de maux de tête.
Il y a peu à gagner et beaucoup à perdre, car il existe de nombreuses divergences entre les navigateurs concernant la façon dont les largeurs, marges, 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 code HTML dans tel ou tel navigateur.
Là encore, si vous n'êtes pas pointilleux sur l'apparence des choses, ne tenez pas compte de ces conseils.
Il est autorisé car TD peut contenir des éléments de bloc en ligne ET.
Ici vous pouvez le trouver dans la référence: http://xhtml.com/en/xhtml/reference/td/#td-contains