Am Anfang waren alle Webseiten schwarz. Oder weiss. Oder wie immer der Anwender die Hintergrundfarbe seines Unix-Displays gesetzt hatte. Die ersten Browser kannten weder Grafik, Geraeusche, noch Script-Sprachen oder Plugins, beide fremden Code auf dem eigenen Rechner ausfuehrend und damit Basis aller Schutzverletzungen, die Windows-Anwender heute kennen.
Dafuer waren HTML-Dokumente am Anfang leicht zu verarbeiten - und auch von Maschinen zu _beurteilen_. Da Autoren meist aus dem akademischen oder technischen Umfeld kamen, war es logisch, dass man einen Dokument-Titel als solchen, eine Ueberschrift als solche und eine Liste als Liste erklaerte.
Bei der Dokument-Erstellung war der Inhalt ausschlaggebend, nicht das Aussehen in einem bestimmten Browser auf einem bestimmten Rechner zu einer bestimmten Tageszeit, waehrend der das Tageslicht optimal die Gestaltungs-Ansprueche einer Person befriedigte.
Lynx oder Links sind zwei Browser, die Seiten heute noch [zum Grossteil] so praesentieren, wie vor zehn Jahren die meisten Browser arbeiteten.
Mosaic und dann Netscapes Mozilla waren die ersten weiter verbreiteten Browser, die per Mausklick bedient werden konnten, und die die Moeglichkeit boten, Grafiken ohne Hilfe externer Programme darzustellen.
Die 2. Version des Netscape Browsers konnte, wenn ich mich korrekt erinnere, erstmals Tabellen halbwegs manierlich darstellen. Und fuehrte proprietaere Erweiterungen wie JavaScript ein, die mit der 3. Version und der begeisterten Akzeptanz aller Laien, die jetzt ohne Programmierkenntnisse auf dem Bildschirm Objekte manipulieren konnten und damit fast schon zum Diplom- Ingenieur aufstiegen, dazu fuehrte, dass Hyperventilierer erstmals das WWW zur Kenntnis nahmen.
Aus dem Fenster flogen die strukturierte Dokument-Erstellung, die durch die optische Gestaltung ersetzt wurde. Dass solche Dokumente von allen Browsern - und es gab schon immer mehr als einen - unterschiedlich auf dem Bildschirm praesentiert wurden und werden, hat sich leider noch nicht herumgesprochen. Sowas dauert offenbar laenger als 10 Jahre. Wie auch die Tatsache, dass strukturierte Dokumente auch heute noch einfacher zu verarbeiten - und damit zu _finden_ sind.
Weil Design, Aussehen oder Praesentation heute einen hoeheren Stellenwert als eigentlicher Inhalt zu haben scheinen, und weil proprietaere Loesungen nur zu einem noch hoeheren Turm zu Babel fuehren wuerden, entstand die Moeglichkeit, Design und Inhalt klar zu trennen.
Wir haben zwar immer noch Kompatibilitaet mit der chaotischen jungen Vergangenheit des Webs, so dass moderne Browser auch noch "alte" Seiten darstellen koennen. Aber wir haben jetzt auch klar definierte Standards, die uns heute in die Lage versetzen, Seiten zunaechst ohne Ruecksicht auf deren Gestaltung zu erstellen - Konzentration auf Substanz und ihre Struktur ermoeglichend. Und wir haben die Moeglichkeit, die Praesentation der Substanz zu gestalten, ohne diese selbst zu veraendern, da Inhalte in HTML- Dateien und Praesentation in Style Sheet-Dateien abgelegt werden, die vom Browser separat abgerufen werden.
Sind Browser und Server korrekt konfiguriert, hat man obendrein den Vorteil, dass die Anweisungen zur Praesentation der Seiten eines Servers nur ein einziges mal abgerufen werden, wenn alle Seiten einer Site ueber eine CSS-Datei gesteuert werden. Das Laden der CSS-Anweisungen entfaellt beim 2. und den folgenden Seitenabrufen, zu schnellerem Seitenaufbau fuehrend.
Styles SHeets, oder CSS, haben damit nicht nur den Vorteil, dass Seiten uniform gestaltet werden koennen und auch schneller laden, sondern dass zukuenftige Layout-Anpassungen oder grundsaetzliche Aenderungen durch Anpassung oder Neu-Erstellung einer einzigen Datei _global_ bewerkstelligt werden koennen. Zumindest solange man sich bei der Anlegung der ersten Style Sheets und der Erstellung des eigentlichen Inhalts ein paar Gedanken macht, die potentielle Veraenderungen einbeziehen.
Soll heissen, der gelb hinterlegte Kasten, in dem heuer oben rechts Werbung erscheint, wird nicht "GelbRechts" sondern z.B. "WerbeKram" genannt. M.a.W. man bezeichnet jede zu definierende Klasse der CSS-Anweisungen nicht nach ihrem heutigen Aussehen, sondern greift auf die eigentliche Funktion zurueck. Fuer die Navigation richtet man eine Klasse "Navigation" ein, und fuer die eigentlichen Seiteninhalte eine Klasse "Inhalt".
Abstraktion erlaubt Ihnen damit die voellige Abkoppelung von Inhalt und Darstellung ab sofort und fuer lange Zeit. Ich huete mich, "fuer immer" zu sagen, da selbst von Kathedralen, Burgen und Schloessern nach einem Jahrtausend nicht mehr als eine Ruine bleibt.
Und jedes noch so ueberlegt und behutsam angelegte Design wird schnell zur Ruine, wenn jemand einen so veralteten Browser wie den MSIE 6.0 benutzt. Ein standard-konformes Design sieht darin so aus.
Und wird bei der Entwicklung einer Site _nur_ mit dem MSIE getestet, entstehen Kruecken, wie die folgende, bei denen der linke Rand in korrekt arbeitenden Browsern unsichtbar wird.
Es ist also gar nicht so einfach, "mit der Zeit zu gehen", weil der am meisten verbreitete Browser mehrere Jahre hinterherhinkt.
Dabei lassen sich alle Probleme auf nur 4 Fehler zurueckfuehren:
Es gibt zwar verschiedene "Hacks", mit denen man gezielt Fehler im MSIE ausnutzen kann, um andere Fehler zu umgehen. Aber wer programmiert, kennt den Grundsatz, dass man selbst flexibel bei der Bearbeitung erhaltener Daten, aber extrem strikt bei der Ausgabe eigener Daten sein sollte. Funktionalitaet, die nur durch bekannte Schwaechen anderer erreicht wird, ist keine, und wird immer zum Bumerang. Hacks lehne ich daher so ab, wie ich alles andere ablehne, was die Sicherheit eines Rechners gefaehrden kann oder koennte.
Ich habe daher meine seit Jahren genutzte Browser-Weiche, die bisher nur zwischen normalen bzw sich normal verhaltenden Anwendern und tolerierten Suchmaschinen einerseits, und Adress-Sammlern und Download-Agenten andererseits unterschied, erweitert, so dass sie jetzt auch auf den Browser zugeschnittene Style-Sheets liefert:
Email-Sammler und Download-Programme erhalten, wie bisher, Fehlermeldungen.
Browser, die standardkonform arbeiten, erhalten Stylesheets, die Einiges an zusaetzlicher Funktionalitaet [Design und Funktion gehen schliesslich einher] und subtile Finessen realisieren.
Browser, von denen bekannt ist, dass sie ein paar aus meiner Sicht wichtige Dinge nicht beherrschen, erhalten ein reduziertes Stylesheet, bei dem ein paar Dinge fehlen. Das sind, soweit ich es ermessen kann, Safari, Konqueror, MSIE 5.* [nur Mac], sowie - Trommelwirbel - Amaya ;-)
MSIE 4.* erhaelt keine Stylesheets.
Alle anderen erhalten ein fuer den MSIE vereinfachtes Stylesheet. Da der MSIE z.B. min-height nicht kennt, height wie min-height behandelt, aber auch die von allen anderen Browsern ignorierte da nicht legale Anweisung _height wie height beachtet, enthalten die MSIE-Dateien einmal die Erklaerung min-height=xyz, gefolgt von _height=xyz. Damit kann mein Programmierer-Gewissen leben ;-)
Damit zukuenftige Aenderungen des Designs meiner Site _nur_ noch die Anpassung der CSS-Dateien [bzw der Schablonen fuer diese] erfordert, habe auf alle Hacks oder Konstruktionen verzichtet, die bei gewissen Problemfaellen zusaetzliche HTML-Anweisungen im eigentlichen Inhalt meiner Seiten bedingt haetten. Was nicht per CSS - oder notfalls in den von allen Seiten genutzten Schablonen - definiert werden kann, ist damit nicht "machbar". Die Darstellung fuer Browser, die eh korrekt arbeiten, wird davon nicht betroffen. Aber da ich zumindest optische Aehnlichkeit bei allen Browsern angestrebt habe, war ich mehr als einmal zu Kompromissen gezwungen.
Kompromisse sind bei der Entwicklung, wenn man weiss, welche Moeglichkeiten seit mehreren Jahren realisierbar sind, oft ein Aergernis. Weil man immer wieder gezwungen ist, sich am niedrigsten gemeinsamen 08/15-Standard zu orientieren. Das erklaert aber auch, warum heute fast alle mit oder fuer den MSIE entwickelten Sites eine gewisse Aehnlichkeit mit Abziehbildchen, oder aufgebuegelten Bildern haben, einen laminierten Eindruck erweckend. Ich habe mich manchmal den Gegebenheiten gebeugt, da fuer den MSIE manchmal ein viermal so grosser Aufwand noetig waere, einen in anderen Browsern einfach zu erzielenden optischen Effekt zu erreichen.
Mein Hauptziel habe ich aber erreicht. Eine Aenderung des Site- Designs aller Seiten und aller Programme, die interaktiv bedient werden, ist jetzt aber tatsaechlich nur durch Anpassung der CSS- Anweisungen moeglich, wie die beiden Entwuerfe zeigen:
Navigation rechts,
partielle
Transparenz [unter der Navigation].
Wer sich auf dem Web umsieht, muss allerdings erkennen, dass viele Web-"Designer" zwar die Moeglichkeit nutzen, per CSS zu gestalten, aber nicht wissen oder verstehen, warum CSS ueberhaupt konzipiert wurde. Es geht dabei _nicht_ [nur] um die Moeglichkeit der Gestaltung. Sondern einmal um semantisch strukturierte HTML. Und dann um globale oder zumindest nicht auf eine Seite begrenzte Beeinflussung des Designs.
Aus genau diesem Grund verzichte ich auf manche "workarounds", die im MSIE, Safari, Konqueror usw Abhilfe fuer vielerlei Probleme bieten. Sie wuerden voraussetzen, dass ich den eigentlichen Inhalt meiner Seiten an den Stellen, die in betroffenen Browsern zu Problemen fuehren, um zusaetzliche DIVs anreichere. Dass ich, mit anderen Worten, Inhalt und Darstellung verknuepfe.
Kurz nach Umstellung meiner Site [die gleichzeitig auf einen neuen Rechner umzog] stolperte ich ueber ein Beispiel, das deutlicher als jedes andere zeigt, wie es um den Fortschritt durch mangelndes Technikverstaendnis bestellt ist:
<span class="h1">
Na also!
Es kommt nicht oft vor, aber dieser Newsletter erreicht einige wenige Leser zum 2. Mal.
Grund: der Umzug auf neue Hardware war problematischer, als man im Zeitalter der Sofort-Problemloesungen annehmen sollte. Der erste Server, den meine gut 4 Jahre alte Maschine ersetzte, erwies sich als extrem launisch. Aussergewoehnliche Last, manchmal nach Stunden, manchmal aber auch nach Minuten, fuehrte zu nicht erklaerbaren Neustart der Hardware.
Nachdem der Provider, der den Kauf vermittelt hatte, zunaechst ein Software-Problem [Linux] vermutete - das ist vergleichsweise einfacher, als der wirklichen Ursache auf den Grund zu gehen - wurden dann Hardware-Komponenten und zuletzt, so heisst es, die ganze Maschine ausgetauscht. Ich war nicht dabei und will heute Einzelheiten auch gar nicht mehr wissen.
Aber der Newsletter, der vor zwei Wochen verschickt werden sollte, ging nur an wenige Leser ab, da die Maschine ein paar Minuten nach Aufnahme des Versands umkippte. Das nicht ordentliche Anhalten und Starten der Maschine fuehrte zum Verlust des Maillogs, so dass ich nicht einmal in der Lage war, die Namen der wenigen Empfaenger, die die obige Abhandlung bereits erhalten hatten, aus der Versandliste zu entfernen.
Der letzte Hardware-Austausch fand vor einer Woche statt, wobei eine Kopie der Festplatte morgens angefertigt, nachmittags dann eingesetzt und ich abends informiert wurde. Falls Sie in der Zwischenzeit Style Sheet-Einstellungen vorgenommen haben und sich wundern, warum diese nicht beruecksichtigt werden, liegts daran. Ich bin froh, vor ein paar Jahren alle Kunden-Daten auf einen separaten Rechner ausgelagert zu haben, da man seinen Blutdruck nicht unnoetigt strapazieren sollte.
Mein Leben bot in den letzten genug Kuriositaeten, so dass ich heute darauf verzichte, Pannen anderer herauszustellen.
© Copyright 1998 - 2008 Klaus Schallhorn.