• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] HTML oder CSS

S

Spider67

Guest
Man liest sehr oft, dass man viele der in HTML möglichen Formatierungen und Ausrichtungen besser mit CSS realisieren sollte. Mir leuchtet das auch ein, da die Wartung des Codes einfacher und strukturierter ist.

Nur gibt es irgendeine Richtlinie oder diverse Ratschläge, bei welchen Attributen oder Eigenschaften man mit HTML noch auskommt, oder wo man bereits zu CSS greifen sollte?

Danke für Eure Meinungen.
 
Nur gibt es irgendeine Richtlinie oder diverse Ratschläge, bei welchen Attributen oder Eigenschaften man mit HTML noch auskommt, oder wo man bereits zu CSS greifen sollte?
Kannst du da vielleicht einfach mal ein Beispiel geben, was du unter solchen “Attributen oder Eigenschaften” verstehst?
 
Kannst du da vielleicht einfach mal ein Beispiel geben, was du unter solchen “Attributen oder Eigenschaften” verstehst?

Z. B die Attribute height oder width für die Formatierung von Tabellenzellen. Oder die verschiedenen Schriftformatierungen. Ein Hintergrundbild kann man zB über HTML oder CSS einbinden, wo liegen die Vorteile beim Einbinden mit CSS.

Solche Beispiele meine ich: Gibt es hiefür allgemein gültige Ratschläge oder Ansichten oder soll man das von Fall zu Fall je nach Einsatzbereich unterscheiden?
 
Z. B die Attribute height oder width für die Formatierung von Tabellenzellen.
Tabellen sind so eine Sache für sich (*würg* :p) und sollten wirklich nur dafür benutzt werden, tabellarische Daten anzuzeigen - unter keinen Umständen aber für die Positionierung. HTML: What is this I hear about the table tag being deprecated? - Stack Overflow

Oder die verschiedenen Schriftformatierungen.
Auf gar keinen Fall, so etwas macht man auf jeden Fall mit CSS - der <font>-Tag ist schon seit HTML 4.01 deprecated: <font> - HTML | MDN

Gibt es hiefür allgemein gültige Ratschläge oder Ansichten oder soll man das von Fall zu Fall je nach Einsatzbereich unterscheiden?
Nein -
Ich würde soweit möglich, alles via CSS definieren.
 
Warum soll man zum Beispiel keine Seitenlayouts mit Tabellen gestalten? Was spricht dagegen?
 
Webdesign: Tabellenlos

Hier mal eine Argumentation für genau das Gegenteil. Ich habe schon erkannt, das kann man so und so sehen.

Und diskutieren kann man ohnehin über alles.
 
Ich finde das bei einem Tabellenlayout der Quelltext unnötig aufgebläht wird.
Auch finde ich es bei großen Layouts dann zunehmend unübersichtlicher genau das Element zu finden, was geändert oder aktualisiert (Inhalt) werden muß.
Die CSS-Definitionen für die eigentlichen Inhalte werden dadurch unübersichtlicher.

Auch finde ich die noch immer im Detail unterschiedliche Handhabung der Styleeigenschaften durch die verschiedenen Browser als hinderlich, wenn man ein ausgefeiltes Tabellenlayout erstellen möchte, was dann auch in allen Browsern gleich aussehen sollte, ganz zu schweigen von dem nötigen einsatz von colspan und rowspan um Leerstellen zu vermeiden.

Den größten Nachteil empfinde ich aber spätestens dann, wenn es um DOM-Traversing geht, sprich dem Navigieren durch das DOM (HTML-Seitenstruktur) mittels JavaScript, um Elemente zu finden, ändern, erweitern, löschen, duplizieren etc...

Daher bin ich als schnell als möglich weg gegangen von Tabellenlayouts.
 
Ich finde das bei einem Tabellenlayout der Quelltext unnötig aufgebläht wird.
Das ist m.E. eine Frage des Aufbaus und der Einrückungen.

Auch finde ich es bei großen Layouts dann zunehmend unübersichtlicher genau das Element zu finden, was geändert oder aktualisiert (Inhalt) werden muß.
Ja, finde ich auch. Daher lasse ich sehr große Tabellen im Browser mit JS aufbauen. Dann kann ich mir alle Elemente gleich in Vars legen und zugreifen.

Die CSS-Definitionen für die eigentlichen Inhalte werden dadurch unübersichtlicher.
Ich finde es überwiegend hinderlich, Sachen in zwei Dateien zu suchen, einmal im JS und einmal im CSS.

Auch finde ich die noch immer im Detail unterschiedliche Handhabung der Styleeigenschaften durch die verschiedenen Browser als hinderlich, wenn man ein ausgefeiltes Tabellenlayout erstellen möchte, was dann auch in allen Browsern gleich aussehen sollte, ganz zu schweigen von dem nötigen einsatz von colspan und rowspan um Leerstellen zu vermeiden.
mit einem cellpadding=0 und cellspacing=0 im table Tag sehen Sie - wenn ich richtig gucke - überall gleich aus. Nur der IE hat von vornherein da irgendwelche Werte die man damit auf 0 setzt.

Den größten Nachteil empfinde ich aber spätestens dann, wenn es um DOM-Traversing geht, sprich dem Navigieren durch das DOM (HTML-Seitenstruktur) mittels JavaScript, um Elemente zu finden, ändern, erweitern, löschen, duplizieren etc...
Dafür benutze ich jQuery und fand das bisher nicht störend.

Daher bin ich als schnell als möglich weg gegangen von Tabellenlayouts.
Ich finde, was Tabellen sind sollte auch mit dafür erfundenen Tags dargestellt werden. Sich mit div's und CSS einen abzubrechen, eine Datensammlung wie eine Tabelle aussehen zu lassen finde ich sagen wir mal mindestens merkwürdig. :)
Ich verwende nach wie vor gern und oft alles, was mit echten HTML Tabellen zu tun hat. Jetzt hab ich mich mal geoutet :) :)
 
Das ist m.E. eine Frage des Aufbaus und der Einrückungen.
Ich meinte damit die ganzen <tr>, <tu> und <td>-Tags, welche das ganze dann aufblähen.


Ich finde es überwiegend hinderlich, Sachen in zwei Dateien zu suchen, einmal im JS und einmal im CSS.
Daher lieber ein ordentlich strukturiertes Layout als ain Tabellenlayout. Ist jetzt meine persönliche Meinung.


mit einem cellpadding=0 und cellspacing=0 im table Tag sehen Sie - wenn ich richtig gucke - überall gleich aus. Nur der IE hat von vornherein da irgendwelche Werte die man damit auf 0 setzt.
Ja das kann man auch alles direkt im CSS machen und für den IE auch mit entsprechenden CSS-Hacks wie z.B. expression('separate', cellSpacing = 0). Aber auch die Problematik der Zellenbreite wenn zugleich eine Tabellenbreite bzw. Spaltenbreite zuvor definiert wurde finde ich doch etwas unflexibel, siehe auch hierzu die Punkte 3 bis 8 auf der Seite HTML-Tabellen: Grundlagen


Dafür benutze ich jQuery und fand das bisher nicht störend.
Das vereinfacht die Sache, das Grundproblem besteht aber weiterhin.


Ich finde, was Tabellen sind sollte auch mit dafür erfundenen Tags dargestellt werden.
Das finde ich auch, aber die Thematik hier hatte ich so verstanden, das für ein Webseitenlayout, wie z.B. für dieses Forum hier, eine Tabelle als Layoutgrundlage verwendet werden soll.


Sich mit div's und CSS einen abzubrechen, eine Datensammlung wie eine Tabelle aussehen zu lassen finde ich sagen wir mal mindestens merkwürdig. :)
Ich finde auch das macht wahrlich keinen Sinn.


Ich verwende nach wie vor gern und oft alles, was mit echten HTML Tabellen zu tun hat. Jetzt hab ich mich mal geoutet :) :)
Um Tabellen darzustellen verwende ich auch echte HTML-Tabellen, nur eben nicht als Grundlage für eine Webseitenlayout. ;)



PS: Haste meine PM bekommen?
 
Zuletzt bearbeitet:
Um Tabellen darzustellen verwende ich auch echte HTML-Tabellen, nur eben nicht als Grundlage für eine Webseitenlayout.
Und genau das ist doch der Punkt: natürlich sind Tabellen nützlich, und zwar für tabellarische Daten - und nur dafür.

Ich meine - wozu bitte gibt es CSS wenn nicht für das Layout und insbesondere die Positionierung? :confused:
 
Hier mal eine Argumentation für genau das Gegenteil.
Wie alt ist der Beitrag? Denn die Unterschiede zwischen CSS-Interpretation sind inzwischen für CSS2.1 recht gering.

Fun fact: Die Seite benutzt selbst ein Tabellenloses Layout.

Meine Meinung: Tabellen sind einfach viel zu unflexibel und unhandlich für nichttabellarischen Inhalt. Und mit CSS kann man auch viel mehr machen.

Zu den anderen HTML-Tags und Attributen: stell dir vor, du hast auf deiner Seite jedes Wort, das irgendwie wichtig ist mit einem <font color="red"> versehen. Nach ein bisschen Zeit gefällt dir das Rot nicht mehr und du hättest lieber Blau. Jetzt musst du in deinem ganzen HTML jedes <font> ändern. Wenn du das über eine CSS-Klasse und CSS gemacht hättest, müsstest du nur zentral an einer Stelle die Farbe ändern.
 
Zurück
Oben