Sven Rautenberg: netscape 6 macht <div>s zu gross

Beitrag lesen

Hi,

Sven hat natürlich recht. Aber bevor Du _nur_dafür_ Browser sniffing bectreibst und unterschiedliche Style sheets verwendest,

Hm, davon hat doch niemand (insbesondere nicht ich) gesprochen. Verschachtelte DIVs und die Aufteilung der Styles auf zwei Klassen funktioniert browserübergreifend prima.

hier einer meiner allerliebsten Links, der an zig Beispielen vormacht, wie man das mit einem Style sheet hinkriegt, und das so, daß selbst Opera damit klarkommt:

http://www.thenoodleincident.com/tutorials/box_lesson/boxes.html

Das Problem dort: Da wird ein _Bug_ des IE 5 ausgenutzt, um zuerst die IE-Breite festzulegen, dann mit der für normal versteckten "}"-Klammer die Style-Regel zu schließen und hinterher für normale Browser die Breite nochmal festzulegen.

Das kann man solange machen, bis der Internet Explorer plötzlich die erste, in Wirklichkeit nicht schließende Klammer standardgerecht ignoriert und auch die zweite Breitenangabe liest, aber bei der Berechnung der Breite trotzdem noch falsch liegt.

Soll heißen: Diese Version ist sowas von wacklig IMHO, daß sie verboten gehört. Sonst passiert irgendwann wieder genau das, was bei der Einführung des Netscape 6 auch schonmal passierte (und unzählige Male davor in anderen Bereichen auch): Bestehende Seiten funktionieren mit dem neuen Browser nicht (damals war's z.B. das fehlende document.layers)

Verschachtelte DIVs tun genau das, was sie laut Standard tun sollen, und das "paßt" zufällig mit dem zusammen, was man selbst will. ;) Und es wird immer so funktionieren, weil's den Standard trickreich ausnutzt, um einen Berechnungsfehler auszugleichen. :)

- Sven Rautenberg