J'ai converti le calendrier de mon entreprise en XSL et j'ai changé toutes les tables en divs. Cela a très bien fonctionné, mais j'ai eu beaucoup de bugs de semaine de 8 jours à résoudre en raison de problèmes d'espacement entre navigateurs précaires. Mais je lisais un autre article concernant quand utiliser les tables v. Divs et le consensus semblait être que vous ne devriez utiliser divs pour les vraies divisions entre les parties de la page Web, et seulement utiliser des tableaux pour les données tabulaires. Je ne suis pas sûr d'avoir pu utiliser des tables avec XSL mais je voulais suivre cette discussion sur les Divs et les Tables avec une discussion sur la façon idéale de faire des calendriers web et peut-être une union des deux.Si vous programmiez un calendrier en HTML, utiliseriez-vous des balises Table ou des balises Div?
Répondre
Je dirais qu'un calendrier est une table, ce qui fait de la table le balisage approprié pour sa représentation.
Edit: Definition 11 for "table" de answers.com dit:
un arrangement ordonné de données, en particulier celui dans lequel les données sont agencées en colonnes et rangées dans une forme essentiellement rectangulaire.
Un calendrier est la raison parfaite d'utiliser une table! Les calendriers présentent de manière inhérente des données tabulaires et les tableaux HTML sont bons pour présenter des données tabulaires. Et le balisage de la table HTML fournit presque tous les hooks CSS dont vous avez besoin pour associer des sélecteurs CSS avec différentes parties de la table pour l'habiller.
Je suis tout pour l'utilisation de DIVs pour la mise en page - mais je m'en tiens aux tableaux pour les données tabulaires.
Voici un article sympa sur la façon d'habiller avec des tables CSS: http://www.smashingmagazine.com/2008/08/13/top-10-css-table-designs
Les tableaux sont pour l'affichage des données tabulaires. Donc, je dirais <table>
est idéal.
Je pense que c'est certainement un cas d'utilisation de tables. Le plus gros problème lors de l'utilisation de divs serait la hauteur de la boîte pour chaque jour individuel. Si vous stylisez chaque boîte avec une bordure, ils peuvent voir si le contenu d'un jour est plus long qu'un autre. Le balisage supplémentaire pour le rendre correct serait plus qu'il ne faudrait pour le créer avec une table, donc je ne pense pas que les divs valent l'effort supplémentaire dans ce cas.
Il est logique d'utiliser des tables, mais si vous deviez regarder Google Calender, elles semblent utiliser des balises div. Il est possible que l'utilisation de balises div diminue la taille du fichier, donc dans un environnement d'entreprise, cela peut valoir la peine.
Faites-le dans un tableau. Ne pensez pas non plus à "divs vs. tables". Pensez-y comme des tableaux par rapport à une balise sémantique appropriée avec une signification. Lorsque j'écris des pages, j'essaie d'utiliser le moins possible les divs, dans la plupart des cas vous pourriez utiliser un paragraphe, un élément de liste, etc.
Vous pourriez également envisager une liste triée par partants (semaines) des listes ordonnées (jours), ou simplement une liste ordonnée (jours).
Il y a others qui conviennent que the list approach est a good one.
pour 'l'approche de la liste', ce gars a dit de ne jamais utiliser ce code ... En fait, j'ai fait quelque chose de similaire pour notre calendrier de bureau et personne n'a aimé ça, je l'ai laissé comme calendrier de l'année et fait un calendrier mensuel en utilisant des tables . –
Juste venu sur ce fil après avoir posé la même question ailleurs.Bien que je sois entièrement d'accord sur le fait qu'un calendrier est plus une représentation tabulaire des données, je pense qu'il y a de la vérité dans les réponses prolifiques "ça dépend". Par exemple, je souhaite afficher une fenêtre flottante DIV lorsque chaque jour du calendrier est survolé. À l'aide d'une table, la fenêtre contextuelle clignote lorsque le curseur se déplace dans le calendrier, car la fenêtre contextuelle n'est active que sur la bordure de la cellule et le numéro du jour dans la cellule elle-même. En utilisant DIVs, le popup est solide (pas de scintillement) tout le temps que le curseur survole la cellule du calendrier.
En fait, j'aime utiliser les divs génériques; J'utilise l'attribut 'class' pour dire quel genre de chose c'est. –