2008-09-03 12 views
19

Ich habe den Kalender meiner Firma in XSL umgewandelt und alle Tabellen in divs geändert. Es funktionierte ziemlich gut, aber ich musste aufgrund von prekären Problemen mit browserübergreifenden Abständen eine Menge Fehler in der 8-Tage-Woche herausarbeiten. Aber ich las einen anderen Beitrag bezüglich der Verwendung von Tabellen v. Divs und der Konsens schien zu sein, dass Sie Divs nur für echte Unterteilungen zwischen Teilen der Webseite verwenden sollten und nur Tabellen für Tabellendaten verwenden sollten.Wenn Sie einen Kalender in HTML programmieren würden, würden Sie Table-Tags oder Div-Tags verwenden?

Ich bin mir nicht sicher, ob ich sogar Tabellen mit XSL verwenden könnte, aber ich wollte die Diskussion über Divs und Tabellen mit einer Diskussion über die ideale Art, einen Webkalender und vielleicht eine Vereinigung der beiden zu erstellen, verfolgen.

Antwort

7

Ich würde sagen, dass ein Kalender eine Tabelle ist, deshalb macht die Tabelle das richtige Markup für ihre Darstellung.

Edit: Definition 11 for "table" von answers.com sagt:

Eine geordnete Anordnung von Daten, insbesondere eine, in der die Daten in Spalten und Zeilen in einer im wesentlichen rechteckigen Form angeordnet sind.

31

Ein Kalender ist der perfekte Grund, einen Tisch zu benutzen! Kalender präsentieren tabellarische Daten und HTML-Tabellen sind gut in der Präsentation von tabellarischen Daten. Und HTML-Tabellen-Markup bietet fast alle CSS-Hooks, die Sie benötigen, um CSS-Selektoren mit verschiedenen Teilen der Tabelle zu verbinden, um sie anzuziehen.

Ich bin alle für die Verwendung von DIVs für Layout - aber halten Sie sich mit Tabellen für Tabellendaten.

Hier ist ein cooler Artikel auf, wie mit CSS zu verkleiden Tabellen: http://www.smashingmagazine.com/2008/08/13/top-10-css-table-designs

1

Tabellen sind für tabellarische Daten. Also ich würde sagen <table> ist ideal.

3

Ich denke, das ist definitiv ein Fall für die Verwendung von Tabellen. Das größte Problem bei der Verwendung von Divs wäre die Boxhöhe für jeden einzelnen Tag. Wenn Sie jede Box mit einer Umrandung gestalten, könnten sie nachsehen, ob der Inhalt für einen Tag länger ist als der andere. Das zusätzliche Markup, um es richtig aussehen zu lassen, wäre mehr als es nötig wäre, um es mit einer Tabelle zu erstellen, also glaube ich nicht, dass divs den zusätzlichen Aufwand in diesem Fall wert sind.

1

Es ist sinnvoll, Tabellen zu verwenden, aber wenn Sie Google Kalender betrachten, scheinen sie div-Tags zu verwenden. Es ist möglich, dass die Verwendung von div-Tags die Dateigröße verringert. In einer Unternehmensumgebung könnte sich das Problem also lohnen.

1

Tun Sie es in einer Tabelle.

Auch nicht als "divs vs. Tabellen" Denken Sie daran, wie Tabellen im Vergleich zu einem richtigen semantischen Tag mit Bedeutung. Wenn ich Seiten schreibe, versuche ich divs so wenig wie möglich zu verwenden, in vielen Fällen können Sie einen Absatz, einen Listeneintrag usw. verwenden.

+0

Eigentlich verwende ich gerne generische divs; Ich benutze das 'class' Attribut, um zu sagen, was es ist. –

1

Sie könnten auch eine geordnete Liste (Wochen) von geordneten Listen betrachten (Tage) oder einfach eine geordnete Liste (Tage).

Es gibt others, die zustimmen, dass the list approacha good one ist.

Others prefer tables.

+0

für 'die Liste Ansatz', dieser Typ sagte, diesen Code nie zu verwenden ... Ich tat tatsächlich etwas ähnliches für unseren Bürokalender und niemand mochte es, so verließ ich es als Jahreskalender und machte einen Monatskalender mit Tabellen . –

1

Ich bin gerade auf diesen Thread gestoßen, nachdem ich die gleiche Frage woanders gestellt habe.Während ich völlig zustimme, dass ein Kalender eher eine tabellarische Darstellung von Daten ist, denke ich, dass es die Wahrheit in den produktiven Antworten gibt. Zum Beispiel möchte ich ein schwebendes DIV-Popup anzeigen, wenn an jedem Tag im Kalender ein Mauszeiger über den Bildschirm gezogen wird. Bei Verwendung einer Tabelle flackert das Popup, wenn sich der Cursor über den Kalender bewegt, da das Popup nur auf dem Zellrahmen und die Tagesnummer in der Zelle selbst aktiv ist. Bei der Verwendung von DIVs ist das Popup-Fenster während der gesamten Zeit, in der sich der Mauszeiger über der Kalenderzelle befindet, durchgehend (kein Flimmern).