Div vs table

Bonjour à tous !

Voilà, j’ai un petit problème… On parle depuis longtemps maintenant de ne plus utiliser de TABLE pour la mise en forme d’un site web, et j’ai vraiment rien contre… SAUF! que je ne trouve pas les DIV assez intelligents pour remplacer une pourtant IDIOTE TABLE…
C’est vrai, c’est plutôt courant non de faire plusieurs colonnes sur un site ? Existe-il une méthode que j’ignore je ne sais pas… MAIS ça me gonfle de voir un DIV ENFANT plus grand qu’un DIV PARENT… Pourquoi mes colonnes ne pourraient simplement pas prendre la même hauteur ? Suis-je obliger d’utiliser de vieilles combines pourries pour arriver à mes fins ? (fausses colonnes? ou mieux, les colonnes dans un ordre super logique dans le code… grr)… à la fin, j’ai autant de lignes de DIV dans d’autres DIV pour arriver à un résultat, qu’en TABLE j’en aurai moins… C’est n’importe quoi…

Alors je m’en remet à vous… Avez-vous la solution dont je n’ai pas connaissance ?
Merci :slight_smile:
Edité le 16/11/2010 à 19:55

Salut !

Perso, je n’ai pas trop de soucis avec mes div sur les nouveaux navigateurs. Par contre, sur IE6 et de temps en temps IE7, je dois ruser, c’est au pixel près.
De manière générale, j’ai un div principal de largeur fixe dans lequel je place mes div de colonnes en float avec eux aussi une largeur fixe. Ensuite, logiquement les éléments de types block dans ces div flottant prennent la largeur de leur parent et je n’ai pas trop de soucis. Voila un bon tuto sur ce sujet :
www.siteduzero.com…
Il me semble que c’est par la que j’ai commencé réellement le développement web…
Faut aussi te dire que si il n’y a pas moyen de faire ton design avec des div, te casse pas la tête et utilise les table, ce n’est pas une faute en soi !

Voila pour ma petite expertise :wink:

Bien à toi,

Jisay

En CSS2/3 tu peux aussi dire avec la propriété display qu’un élément ait le même comportement qu’un tableau.

-> www.quirksmode.org…

Par contre, si ce sont des données tabulaires, genre qui vienne d’un tableau Excel, c’est

sans hésiter.
Ah bien sûr, ça ne fonctionne pas partout display: table and co...

En fait je ne commence pas vraiment, mais j’en ai juste marre de devoir ruser tout le temps pour obtenir un résultat simple que les tables m’offrent…

C’est la hauteur que je veux identique à mes 3 colonnes, mais je suppose que c’est ce que tu as voulu dire ! Moi, lorsque je place mes 3 div en float: left, correspondant à mes 3 colonnes, ils se moquent totalement de la taille du div parent, d’autant plus surement qu’il n’y a pas de hauteur fixe (pas plus dans les div colonnes que dans le div regroupant les colonnes) ! le div parent ne me sers finalement qu’a placer les colonnes horizontalement ou je les souhaite… mais c’est tout…

J’ai lu à de multiples endroit que ce n’est pas/plus w3c valable, du coup, je veux bien faire autrement, mais je me demande si il y a une autre solution (sans bidouilles, qui ne sont pas beaucoup plus w3c… !)…

Je suis au courant de l’existence de display: table, et je m’en servirais bien si c’était compatible, au moins avec ie7 (à la limite ie6… tant pis…)
Edité le 17/11/2010 à 10:57

Utilise la propriété height. Quand tu crée un div, si tu veut pas que ça bugg, pense toujours à utiliser au moins ces 3 propriétés : float, width, height . Quand on commence le CSS, le plus gros problème n’est pas le css, mais la gestion du navigateurs, et tout les bugs. Commence déjà par faire un reset css par exemple.

Ca reste au moins valable pour les tableaux. Après c’est aussi assez pratique si tu veut centrer quelques chose verticalement.