Vous n'avez pas vraiment besoin de faire cela avec des tables (pensez-y, vous essayez simplement d'afficher quelque chose dans une grille, vous n'essayez pas vraiment de créer une table de choses).
Avec un peu de CSS, vous pouvez le faire comme ça (vous pouvez utiliser les éléments HTML5 appropriés si vous utilisez html5-Shiv pour MSIE):
<div class="figure">
<img src="mypic.jpg" alt="">
<div class="description">Description goes here</div>
</div>
et CSS:
.figure {
float: left;
margin-right: 10px; /* for space between the columns */
padding: 5px;
border: 1px solid #000;
background-color: #fff;
color: #000;
}
.figure .description {
margin-top: 1em;
font-variant: italic;
}
Si elles sont toutes de la même taille et que vous voulez les forcer dans une grille NxN, vous pouvez les placer dans un div (class = "grid") quelque chose comme ça (grille 3x3, largeur interne 100px (soit 90px)):
.grid {
padding-left: 10px; /* to mirror the right margin of the last .figure in the row */
width: 350px; /* 3*100px + 2*10px margin + 3*2*5px padding */
}
.figure img {
width: 90px;
}
De cette façon, vous pouvez simplement sortir les images en séquence dans une boucle sans avoir à vous soucier de l'endroit où emballer les lignes (l'habillage est géré par CSS; Si vous ne forcez pas la grille à avoir une largeur maximale, elle s'emboîte à l'extrémité droite de la fenêtre du navigateur).
Qu'est-ce que vous avez jusqu'ici, et comment ça ne marche pas? –
Jusqu'à présent, je ne pouvais créer un faire que pour générer les images sur une seule colonne