Änderung im Stylesheet heißt Änderung an EINER Stelle. Änderungen im Markup heißt Änderungen in JEDER EINZELNEN HTML-Datei.
Ja, Gunnar. Das wissen wir. Das ist alles, worum sich Meierts Erkenntnisse drehen: Wenn ich mein HTML schlecht organisiere, dann ist JEDE Änderung am HTML aufwändig. Meiert zieht aus dieser Beobachtung die Konsequenz, alle möglichen Ursachen auszumerzen, die zu einer Änderung am HTML führen würden.
Das ist nicht falsch, aber extrem verkürzt. Man muss dieses Problem nur einmal vom Kopf auf die Beine stellen: Organisiert das HTML gut (zumindest ganz rudimentär). Dann ist das Problem, dass HTML-Änderungen aufwändig sind, nahezu verschwunden. Zumindest geht die Welt nicht unter, wie Meiert es suggeriert, wenn einmal doch eine winzige HTML-Änderung nötig ist.
Du hast selbstverständlich Recht: Inhalt, Präsentation und Verhalten gilt es zu trennen. Das geht für mich Hand in Hand mit einer guten Organisation des HTMLs und gehört zu den Grundvoraussetzungen der Wartbarkeit. Präsentationsfragen sind im Stylesheet zu klären. Das ist richtig, aber das Argument »damit verhindert man Änderungen im HTML, und das sollte man, weil Änderungen am HTML besonders teuer sind, weil sich das HTML tausendmal wiederholt, das Stylesheet aber nur einmal vorkommt« führt in die Irre. Idealerweise gibt es nämlich auch nur eine Stelle, an der das HTML vorkommt.
Eine Vermischung ist nicht deshalb schlimm, weil HTML sich notwendigerweise wiederholt, und eine Trennung wäre selbst dann geboten, wenn ich nur eine kleine HTML-Änderung an zentraler Stelle vornehmen muss. Wenn ich der obigen Herleitung widerspreche, dann um zu sagen, dass die Trennung der Layer nicht darin aufgeht, die Schwächen von schlecht organisiertem HTML zu kompensieren.
Man kann noch so gut die drei Layer trennen, das Problem der Wartbarkeit des HTMLs wird dadurch nur *indirekt* angetastet. HTML wird dadurch wartbar, dass ich das Markup ebenfalls in verschiedene Layer und Funktionseinheiten trenne. Indem ich die konkreten Inhalte bzw. Daten und ihre Formen (verschiedenes HTML, aber auch JSON, XML, SVG usw.) voneinander trenne. Indem ich Markup abstrahiere und wiederverwendbare Komponenten schreibe. Indem ich Dokumente dynamisch zusammenbaue.
Wie gesagt wird HTML indirekt dadurch wartbar, dass ich alles, was nicht zur Inhaltsstrukturierung gehört, dort notiere, wo es am besser hingehört: Präsentationsregeln im Stylesheet, JavaScript-Verhalten in einem externen Script etc. Die drei Logiken sind zu trennen, damit ich »Krokofant« spielen kann: Ich kann das HTML auswechseln, während CSS und JS gleich bleiben (d.h. auch im Browsercache), und es wird doch ein ganz anderes Tier daraus.
[Includes]
Ja. Aber warum eine weitere Technologie ins Spiel bringen? Die Pflege der Website macht das nicht einfacher.
Oh man, da rolle ich mit den Augen.
Wartbarkeit ist doch genau das: Die Pflege der Website einfacher machen. Und ein bestimmtes grundlegendes Level der Wartbarkeit lässt sich nur mit Hilfsmitteln umsetzen. Der Einsatz von Includes und Templates ist mittlerweile so essentiell, dass man m.M.n. nicht ernsthaft über Methoden zur HTML-Wartbarkeit reden kann, die deren Einsatz bewusst außen vor halten und sogar abwerten. Ich weiß nicht, wie das woanders ist, aber in meinem Umfeld werden jedem, der sich mit dem Webpublishing beschäftigt, entsprechende Tools in die Wiege gelegt.
Dass z.B. letztlich nur ein Stylesheet verlinkt werden sollte, heißt natürlich nicht, dass ich sämtlichen CSS-Code notwendigerweise in einer ellenlangen Datei verwalten muss. Das würde der Modularisierung widersprechen. Es heißt nur, dass ich Tools einsetze, die Stylesheets zusammenfassen und ggf. komprimieren.
Mein Posting war für patrick bestimmt, nicht für herumlungernde Stammposter.
Das ist das Problem.
Ich habe wenig Lust, dieselbe Diskussion immer und immer wieder zu führen.
Du wirst nicht darum hinkommen, solange du jeden, der CCs verwendet, mit zweifelhaften Argumenten angehst, und jeden Thread, in dem Code mit CCs gepostet wirst, in einen Schauplatzes des Feldzuges gegen CCs verwandelst.
Cheatah scheint die Lust inzwischen schon völlig vergangen zu sein, sich in diese unfruchtbaren Grundsatzdiskussionen einzubringen.
Sich im Alleinbesitz der Wahrheit und über jede Kritik erhaben zu wähnen, ist natürlich eine Möglichkeit. ;)
Und wo war denn bitteschön dein Aufschrei, als in den Antworten auf multiple browserspezifische Stylesheets eingegangen wurde
Das muss ich überlesen haben und kann es auch bis jetzt nicht finden.
Du erkennst anhand deines Postings, dass die Bewertungsfunktion zu allem möglichen genutzt wird, in den seltensten Fällen aber der fachliche Gehalt eines Postings bewertet wird?
Nein. Ich erkenne nur, dass du den fachlichen Gehalt bezweifelst. Ich denke schon, dass mein Beitrag selbigen besitzt.
Mathias