Sven Rautenberg: Anfängerfrage: Layer - Positionierung - Tabellen...

Beitrag lesen

Moin!

Wenn man bei der Suche Layer eingibt erfährt man, dass die Layer-Technik (netscape ab Version 4) inzwischen veraltet ist und durch "CSS-Eigenschaften zum Positionieren von Elementen" abgelöst wurde. Also, wenn man hier von Layern spricht meint man wohl Letzteres, oder ?

Richtig. "Layer" bezeichnet ganz allgemein irgendeine "Schicht". Damit würde ich in Photoshop z.B. auch die einzelnen Ebenen bezeichnen, die man übereinanderlegt. :)

Was HTML angeht, war Netscape 4 mit dem Tag <layer> IIRC der erste, der sowas konnte - nur leider ging dieser Weg ins Leere, und das W3C hat einen anderen eingeschlagen.

Wenn also heute von "Layern" die Rede ist, dann sind das normalerweise Abschnitte mit <div>. Ich würde da auch garkeine Trennung machen zwischen <div>, die mit CSS positioniert sind, und <div>, die einfach nur im Dokumentenfluß ihren automatischen Platz finden. Das sind alles Layer, und man _kann_ sie positionieren, muß aber nicht. Und welche Layer positioniert werden, und welche nicht, kann auch je nach Ausgabemedium unterschiedlich sein.

Auf der Mineralwasser-Seite http://www.glashaeger.de/produkte/mineralwasser/index.php werden zum Beispiel für die Bildschirmdarstellung alle Produkte außer einem garnicht angezeigt, obwohl die Layer geladen wurden. Aber wenn du die Seite als Druckansicht (Opera, IE 6) ansieht oder ausdruckst (IE 5), dann werden alle Produkte inklusive Bild schön hintereinander auf eine Seite gedruckt - ohne Meta-Navigation, ohne Hintergrundbild, aber mit Logo und Überschrift. Für die Druckausgabe wird garnichts positioniert, sondern aussschließlich dem normalen Elementfluß überlassen (wenn man mal von der rechtsbündigen Ausrichtung der Bilder absieht - das ist aber auch alles ganz "natürlich").

Kleine Anmerkung: Der Effekt funktioniert im IE nur bei frisch geladener Seite - das ist ein kleiner Schönheitsfehler, den ich noch nicht behoben habe, ich weiß aber, woran es liegt. In Opera ist alles bestens.

Dann habe ich die Diskussion nachgelesen, ob man besser mit "Layern" arbeitet oder mit Tabellen.
Was ich dabei nicht ganz verstehe ist: Um mehrere Grafiken überlappend darzustellen (oder Text und Grafik) bedarf es doch der Positionierung mit CSS. Oder kann man diesen Effekt auch nur mit Tabellen erzeugen?

Eine Tabelle ist immer eindimensional. Wenn ich mir vorstellen würde, die Glashäger-Seite mit Tabellen zu realisieren, wäre das ein ziemliches Problem geworden. Tabellen mögen nun mal klar rechteckige Formen. Es läßt sich aber keine Zelle über eine andere Zelle legen - auch mit verschachtelten Tabellen nicht. Man hätte dann die Bildvorlage einfach passend zerschneiden müssen, was vermutlich einen relativ großen Aufwand bedeutet hätte, wenn sich einzelne Bilder ändern.

Mit Layern hat man größere gestalterische Freiheit, weil natürlich ein tabellenartiges Design geht, aber noch wesentlich mehr. Nur runde Formen gibts mit HTML (egal was man nimmt) noch nicht, alles ist rechteckig.

- Sven Rautenberg