9
votes

Les tables sont-elles remplacées par des divs?

Dupliqué possible:
Pourquoi ne pas utiliser de tables pour la mise en page dans HTML?

Je sais que tout le monde est tout au sujet de Div et CSS et contre les tables maintenant, j'ai toujours utilisé des tables, car ils sont si faciles à voir visuellement ce que je fais dans la construction, je suis tout à fait venu dans le monde de Div.

Donc, ma question sont des tables complètement remplacées par DIV en général? Je remarque sur la source de Stackoverflow, il s'agit principalement de DIV mais utilise toujours des tables également, alors je devine que les tables doivent être utilisées parfois?

ci-dessous est une image de quelque chose que j'essaie d'accomplir, la majeure partie de celle-ci est codée mais une partie de celle-ci est ajoutée sur Photoshop, jusqu'à présent, j'ai tout fait à Div's ce que je n'ai que les cellules de fond qui sont Un élément de liste et les photos, ce qui me manque à mon code est toutes les zones de texte et il me serait super facile pour moi de positionner les zones de texte dans une cellule de table, mais comme étant comme 80% de l'objet est effectué avec seulement CSS et DIVS Je ne suis pas sûr que je devais juste essayer de finir avec juste des divis ou si une table à l'intérieur du commentaire de la commission serait la voie à suivre.

J'ai remarqué sur cette page que les ansers sont une table à l'intérieur d'un div Texte alt http://img2.pict.com/e0/ 4E / DE / 1486585/0 / CAPENSHOTT2B15.PNG


5 commentaires

Vous trouverez peut-être cet article intéressant: Smashingmagazine. com / 2009/04/08 / de-table-Hell-to-Div-Hell


Voir cette question. Stackoverflow.com/ Questions / 83073 / ...


J'ai mis à jour mon message avec une photo et une description de ce que j'essaie de faire, je ne suis pas sûr que si vous devriez utiliser des tables ou 100% de Div's / CSS


L'utilisation de CSS est la bonne façon de contrôler l'affichage et de l'apparence de la page, mais les DIV ne doivent pas être utilisées uniquement à des fins de conception. J'ai vu des pages avec des milliers de divs imbriqués et ceux-ci sont tout aussi mauvais de maintenir que ceux avec des milliers de tables imbriquées. DIV devrait être utilisé pour grouper le contenu qui vont ensemble. (Remarque: j'utilise le verbe Devrait , comme je suis également coupable de se pencher ces règles si la voie correcte sémantique est difficile ou impossible à atteindre)


J'ai pu terminer mon projet avec seulement CSS, donc je suis heureux de cela, ce n'était pas trop difficile non plus et je pense qu'il est mieux alors d'avoir disparu la route de la table


14 Réponses :


18
votes

Pour être sémantiquement correct, les tables ne doivent être utilisées que pour les données tabulaires et non pour poser une page.

David Dorward a apporté quelque chose à mon attention dans un commentaire. Selon le Spécification HTML 4.01 sur Tables dans les documents HTML :

Les tableaux ne doivent pas être utilisés purement comme un moyen de mettre en place le contenu du document car cela pourrait présenter des problèmes lors de la rendu aux médias non visuels. De plus, lorsqu'ils sont utilisés avec des graphiques, ces tableaux peuvent forcer les utilisateurs à faire défiler horizontalement pour afficher une table conçue sur un système avec un affichage plus grand. Pour minimiser ces problèmes, les auteurs doivent utiliser Feuilles de style pour contrôler la mise en page plutôt que les tables.


5 commentaires

"Les tableaux ne doivent pas être utilisés purement comme un moyen de mettre en page Contenu de document" - HTML 4.01: w3.org/tr/html4/truc/trum/tables.html#h-11.1


Comme les réponses sur cette page seront-elles considérées comme des données tabulaires?


Je ne crois pas non plus. Comme je mets ma réponse si vous n'utiliseriez pas Excel, il ne faut pas être dans une table: Stackoverflow.com/Questtions/1293698/ARE-Tables-Replaced-By-D IVS / ...


David - merci pour ce lien. Je vais l'ajouter. Je ne savais pas que c'était dans les documents HTML officiels.


Les réponses elles-mêmes ne seraient pas des données tabulaires. Vous pouvez représenter chaque réponse, le nombre de votes qu'il a, le temps qu'il a été ajouté et l'utilisateur qui l'a ajouté sous forme de données tabulaires - mais ils sont plus utilement représentés comme des sections avec des titres (ce qui ne le fait pas, Ho HOH) .



0
votes

Les tables sont appropriées pour les données tabulaires, mais DIVS + CSS est préférable pour la mise en page générale de la page.

http://css-discuss.incutio.com/?page=tablesvsdivs a beaucoup de bonnes raisons pour lesquelles, ainsi que certains arguments de contre-arguments.


0 commentaires


1
votes

Je pense que beaucoup de gens diront que des données "tabulaires", ou des données qui peuvent être exprimées mieux dans des lignes et des colonnes, doivent être conservées dans une table, mais que les divs ont été inventées pour remplacer les tableaux en tant que grands éléments de mise en page. Dans mon opinion personnelle, des tables ont toujours été utilisées comme éléments de présentation d'une manière qui allait au-delà de leur objectif. Cela ne veut pas dire que les gens n'utilisent pas encore les divs, par exemple

<table>
<th>
  <td>Monday</td><td>Tuesday</td><td>Wednesday</td><td>Thursday</td><td>Friday</td>
</th>
<tr>
  <td>Work</td><td>Work</td><td>Work</td><td>Work</td><td>Play</td>
</tr>
</table>


0 commentaires

0
votes

Comme Korey et Thomas ont dit, il est préférable d'utiliser la table pour représenter les données tabulaires.

Si vous souhaitez effectuer une mise en page de site Web dans Pure CSS, vous pouvez consulter ces frameworks CSS, qui facilitent la tâche:


0 commentaires


0
votes

Les tables en tant que moyen de décrire la structure des données tabulaires n'ont pas été remplacées.

Les tables en tant que moyens de décrivant la présentation ont été remplacés, mais pas avec des divs. Ils ont été remplacés par des fêtes de style en associé avec tout élément décrit le mieux la sémantique du contenu. Un div n'a aucune sémantique qui lui est associé, il est donc utilisé s'il n'y a rien de mieux.


0 commentaires

-1
votes

CSS est super et tout, mais je l'utilise principalement pour le style, pas la mise en page. Je et d'innombrables autres développeurs utilisent toujours des tables tous les jours pour la construction de pages Web et le futur prévisible.

Si vous souhaitez utiliser un positionnement absolu et relatif pour les présentations, allez-y. Sinon, vous n'êtes pas mal ou stupide de ne pas le faire. La principale chose à rechercher lorsque vous utilisez des tables, empêche la nid d'enfers d'enfer imo.


5 commentaires

Gardez à l'esprit que les «innombrables autres développeurs» qui utilisent des tables pour la mise en page font de manière à cœur parce qu'ils n'ont pas eu de temps ou ne veulent tout simplement pas apprendre à faire des mises en page avec des divs et d'autres étiquettes Semantic Semantic CSS. Cela prend un peu plus de pensée, mais il y a de réels avantages à utiliser CSS, comme de meilleures vitesses de téléchargement et de rendu. Et non, vous n'êtes pas mauvais ou stupide si vous n'utilisez pas de mises en page CSS - juste moins efficace.


Les tables ne doivent pas être utilisées pour les mises en page. Ils brisent l'accessibilité et sont un pita pour apporter des modifications. Il n'y a pas d'excuse pour ne pas utiliser de divs et de CSS pour les présentations autres que la paresse.


Ah oui, l'argument de la paresse. Pffft.


Vous n'avez pas d'avenir prévisible si vous utilisez des tables pour la mise en page. BTW, il est très rare que l'on doive utiliser un positionnement absolu et relatif pour la mise en page. Vous devriez apprendre à faire ce genre de choses avant de le rejeter.


Je ne l'ai jamais rejeté. Les "tables sont le diable" Zealotry est drôle, c'est tout. Il y a plus d'une façon de cuire un chat. Appelant les gens paresseux ou suggérant qu'ils n'allaient pas avoir de travail bientôt parce qu'ils utilisent des tables sont stupides.



9
votes

Theres beaucoup de zéloté fervente concernant cette notion de contenu sémantique, qui va bien et tout sauf le seul problème, c'est qu'il est désespérément naïf.

fait: Il y a des choses qui peuvent être faites de manière triviale avec des tables qui ne peuvent pas être faites dans "pur" CSS, sont extrêmement difficiles à "pur" CSS, avoir des effets secondaires méchants dans le CSS "pur" ou avoir de graves problèmes de navigateur croisé.

J'ai fait mon Liste de souhaits CSS3 et En compilant cette liste, j'ai réalisé certaines choses que j'ai pu faire avec des tables car HTML 3.2 il y a une décennie, je toujours ne peut pas faire de divs.

Je suis tout pour avoir une disposition sémantique. Bel idéal. Mais jusqu'à ce qu'il puisse faire tout ce qu'il faut remplacer, la chose qu'il tente de remplacer aura des cas d'utilisation valides.


1 commentaires

Que diriez-vous d'essayer de faire un livret italien / anglais côte à côte pour un opéra? Ce n'est pas vraiment des "données tabulaires" et il serait préférable que le texte italien apparaisse en tant que groupe et le texte anglais à apparaître sous forme de groupe, mais à l'aide de tables avec une ligne par ligne de verset ou chaque zone de texte descriptif Gardez les choses alignées même si certaines lignes de verset sont suffisamment longues pour envelopper. Les livrettos que j'ai vus qui n'utilisent pas cette approche sont généralement mal alignés si le texte s'enroule.



0
votes

Cela dépend certainement. La règle d'or que vous devez rappeler est que le fichier de document XHTML / HTML est destiné à décrire le contenu et le débit.

Tout ce qui est la conception devrait être (chaque fois qu'il est possible, certains scénarios de cas ne peuvent certainement pas le contrôler, comme lorsque CMS apparaît sur le jeu) contrôlé à l'aide d'un fichier CSS.

Maintenant, comment pouvons-nous atteindre le résultat le plus sémantiquement et le plus pragmatique? Comme avec tout, cela dépend. Utilisation des éléments de balise XHTML / HTML à la place s'appuyer uniquement sur l'affichage correct du contenu, il est recommandé.

Notez que j'ai dit des éléments de balise. DIV est juste l'un d'entre eux, mais il suffit de remplacer avec chaque fois qu'un ou des tags existe ne suffit pas. En fait, cela vous poussera sur la "divite" (l'emplacement inutile de DIV pour tout!) Et rendra votre travail difficile. Essayez de vérifier la plupart des tags et de les utiliser chaque fois que cela semble correct.

Parfois, c'est une question assez subjective quant à ce qui qualifie de contenu ou d'une autre balise. Juste dans cette question, quelqu'un a demandé si ce contenu serait considéré comme des données tabulées (celle que les tables sont censées être utilisées pour), mais je pense que quel que soit le contenu que vous devez commander et filtrer (et vous pouvez copier et coller sur Excel sans soucis) C'est digne de matériau.

Tout d'autre, il s'agit principalement d'un affichage de mise en page intéressant qui doit être travaillé avec CSS et d'autres balises.

Certaines personnes diront que c'est trop de travail et ne vaut pas la peine. Je ne suis pas d'accord. Bien que apprendre à travailler avec CSS / DIVS Nuances, il est quelque peu différent au début, vous apprendrez bientôt à apprendre la torsion de celle-ci.

bonne chance et rappelez-vous que nous apprenons toujours de nouvelles choses, alors ne vous inquiétez pas de la question.


3 commentaires

J'ai mis à jour ma question ci-dessus avec une photo de quelque chose que j'essaie de faire, pensez-vous qu'il convient à une table à l'intérieur des divs?


Semble que l'image ne réussit pas correctement: p


Je pense que ces conceptions conviennent bien à l'utilisation d'une liste de définitions d'œstructure. Recherchez les balises

,
et
. Les tables fonctionneraient aussi, mais j'essaierais de ne pas les utiliser. En cas de doutes, assurez-vous de poser des questions.



0
votes

Ma recommandation serait de vraiment apprendre HTML. Utilisez l'élément qui concerne réellement le contenu. S'il s'agit d'une liste d'éléments, utilisez l'une des balises de liste. S'il s'agit d'une saisie de données, utilisez une balise de champGIQue. Il n'y a-t-il pas que de nombreuses balises pour choisir tant de fois que beaucoup sont négligées. Si vous remplacez simplement toute votre mise en forme de la mise en forme de votre table avec des divs, votre boutique soupe pourrait être un peu moins chunky, mais vous pouvez toujours vous étouffer.


0 commentaires

0
votes

Vous devriez vérifier ELASTIC CSS Framework Vous pouvez mettre en place une combinaison illimitée de colonnes très facilement et de les positionner avec ses aides, Découvrez la documentation.

acclamations


0 commentaires

0
votes

En termes de performances, la ou les tableaux (s) ne seront rendu que lorsque l'étiquette finale () est atteinte, de sorte que, s'il s'agit d'une table contient 100 de lignes, vous verrez que le tableau apparaît peu plus tard dans le navigateur. Ce n'est pas vrai pour les divs.


1 commentaires

Je pense que cela ne s'applique qu'à Internet Explorer.



0
votes

J'ai posté sur méta-sur-le-dessus sur leurs tables: https://meta.stackexchange.com/questions/3110/when-did-so-start-utilisateur-tables-for-layout/3547#3547

En bref, je pense que c'est bien car il est des données tabulaires.


2 commentaires

La structure décrite par les tableaux ne correspond à aucune relation tabulaire entre les bits de données. Ils utilisent des tables de mise en page, ce qui n'est pas bien.


Comment ce n'est pas des données tabulaires? Comme mentionné sur le post ci-dessus, les données de la table sont des votes | Réponse. Pourquoi n'est-ce pas des données tabulaires?