36 votes

Devrait Tables être évité en HTML à tout prix?

Il est conseillé d'utiliser des tableaux dans les pages HTML (maintenant que nous avons CSS)?

Quelles sont les applications de tables? Quelles sont les caractéristiques/capacités n'tables qui ne sont pas dans le CSS?

Questions Connexes

81voto

Mo. Points 6747

Non, pas du tout. Mais l'utilisation de tables de données tabulaires. Il suffit de ne pas les utiliser pour le général layouting.

Mais si vous afficher des données tabulaires, comme les résultats ou peut-être même une forme, aller de l'avant et à l'utilisation des tables!

70voto

Todd Davis Points 1996

Je suppose que je ne suis pas dans la majorité ici, mais je vois encore beaucoup de l'utilisation des tableaux en HTML. Bien sûr, oui, pour des choses comme les formes, tout simplement, vous ne pouvez pas battre une table. En essayant d'aligner les étiquettes et d'accompagnement des champs de formulaire serait certainement possible à l'aide de DIV, mais qu'un pain PITA et le redimensionnement de la page serait laid dans certains cas. Une table fonctionne à merveille ici.

Mais aussi envisager les grandes questions. Par exemple, avez-vous essayé de créer un standard de 3 colonnes avec en-tête et pied de page à l'aide seulement de DIV et de CSS? Encore une fois, il est très possible, et il y a environ 1000 sites web avec des exemples, mais ils ont tous tendance à souffrir de problèmes. Le premier problème est que les colonnes n'a jamais vraiment comme à tous de devenir la même hauteur sans une sorte de javascript de l'aide. Le deuxième problème est en train de changer la mise en page est souvent un chose la plus délicate, parce que c'est un peu un balacing loi pour obtenir tout ce qui est "juste" pour commencer, alors vous ne voulez pas jouer avec ça. Enfin, et on en revient à ce dernier point, il n'est pas facile. Vous devez le poser toutes vos DIV, puis revenir en arrière et créer de la magie CSS qui force ceux DIV est dans la bonne position, puis passer quelques heures à peaufiner jusqu'à ce qu'il est juste.... ugh. Et puis, regardant le code HTML sans visionneuse vous donne vraiment AUCUNE idée de ce que la page semble être parce que c'est réinterprété par le CSS à la fin.

Maintenant, l'option B. l'Utilisation d'une table. Passer environ 30 secondes en tapant le <tr> et <td> balises, probablement pas de CSS à tous, pas de javascript 'réparation', et de savoir EXACTEMENT à quoi il ressemble juste en regardant le code HTML.

Il y a certainement des arguments pour et contre les tables, et les puristes semblent privilégier la division pour la mise en page, mais ne pas utiliser des DIV à l', pour des raisons religieuses juste parce que quelqu'un vous a dit les tables sont mal. Utilisez ce qui fonctionne le mieux pour vous, votre page, et la façon dont vos téléspectateurs vont interagir avec la page. Si c'est une table, puis l'utiliser. Sinon, ne le faites pas.

13voto

nickf Points 185423

Tout le monde jusqu'à présent, a dit la manière dont les tables doivent être utilisées uniquement pour des données tabulaires, et c'est vrai. Jetez un oeil à la source HTML d'une page et vous verrez qu'ils ont une idée différente...

Je pense que leur raisonnement est que, parfois, l'aide d'un tableau est juste tellement plus simple. Bien que, il ya beaucoup de très bonne ergonomie des raisons pourquoi les éviter.

11voto

insin Points 19509

D'autres que pour des données tabulaires, les tables sont malheureusement toujours nécessaire si vous souhaitez créer flexible grille de mises en page comme des formes complexes dans un cross-browser compatible manière.

CSS2 a l'appui pour la création de réseau souple mises en page sans l'aide de l' table élément via la propriété d'affichage, mais ce n'est pas pris en charge dans IE6 ou IE7.

Cependant, pour la forme la plus basique, mises en page, CSS devrait être suffisant.

6voto

Paul Prewett Points 986

Si seulement le CSS équivalent a été aussi efficace dans la mise en place d'un "tableau" comme de la mise en page, puis j'aimerais utiliser les CSS. Je trouve le temps qu'il faut pour imiter les choses que les autres ont répertorié ici (hauteurs égales sur les cellules, augmente automatiquement les lignes, etc.) n'en vaut simplement pas la peine. Je ne suis pas d'obtenir un retour sur mon investissement plutôt que de rapidement lancer ensemble une table dans la plupart des cas.

Tous les navigateurs peuvent s'entendre sur la manière exacte d'un tableau doit être aménagée. Bam. Fait.

Voici comment mon CSS folies habitude d'aller: Essayez de configurer une table-comme la mise en page en CSS. Passer 20 minutes ou plus à faire le tout dans Mozilla et puis l'ouvrir dans IE. Passer un autre 30 minutes de peaufinage entre ces deux navigateurs. Prétendre qu'il y a seulement deux navigateurs dans le monde parce que j'ai réellement besoin pour obtenir un peu de travail.

Je crois en la promesse de CSS: la Séparation des préoccupations. Le problème est que pour ceux qui en ont besoin pour être productifs, le CSS n'est pas prêt pour le prime time. Ou peut-être les moteurs de rendu des navigateurs - selon.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X