Detlef G.: pixellayout mit fixierten Bereichen

Beitrag lesen

Hallo Melanu

… vielleicht kannst Du ja mal sagen, wie sie in Version 5.0 aussieht?

Das kann ich morgen Abend tun, ich habe unter Linux IE 5 bis 6, bin aber gerade unter Windows und sollte endlich ins Bett kommen (ja mein Urlaub ist vorbei).

Für die anderen Browser und den IE ab Version 6 hast Du beide Problem ja lösen können. Hast Du auch bezüglich des IE 5 noch eine Idee? Könnte man den IE 5 in das von Dir geschriebene Skript mit einbeziehen?

Das müsste ich dann mal kontrollieren, inwieweit das Script auch für IE <6 geeigent ist. Bisher hatte ich es nur für IE6 vorgesehen, weil es außer für IE6 nicht nötig ist (der 7er versteht position:fixed und für 5er war keine Fixierung vorgesehen).

Zum zweiten Problem war eine meiner Überlegungen, dass man den scrollbaren Bereich garnicht bis unter die Navigation legen braucht und so die Navigation vielleicht statisch positionieren könnte. Aber dann wüsste ich nicht mehr wie man das zentrieren der Seite behält.

Dabei könnte dir das falsche Boxmodell der IE <6 helfen (entspricht dem Quirksmodus von IE6). Dazu wäre dein Ansatz teilweise sogar besser geeignet. Inhaltsbereich in ein zusätzliches Element (oder nicht #seite oder #inhaltsbereich sondern #inhalt selbst zentrieren) packen, das bekommt ein padding-top der Kopfhöhe, 100% Höhe (durch den Boxmodelbug wird padding in die Höhe eingerechnet) und overflow:auto (body dann natürlich auf overflow:hidden). Der Scrollbalken beginnt dann zwar erst unter dem Kopf, dürfte aber am rechten Rand sein.
Kopf und Navigastion müssten außerhalb dieses Elements stehen und separat ausgerichtet werden.
Dann wäre auch kein Script dafür erforderlich.

(Wenn es nicht anders geht wäre mir auch eine Scrollbar direkt am inneren Textfeld recht.)

Das dürfte relativ einfach sein, wenn du für 5er IEs body auf overflow:hidden setzt und dafür #inhaltsbeich auf height:100% und overflow:auto setzt, dürfte nur nauch eine kleine Breitenanpassung erforderlich sein.

Damit der IE 5 in meiner Seite die vorher für die anderen geschrieben Stylesheets nicht beachtet habe diese in die bestimmten Conditional Comments gesetzt (Downlevel-revealed Conditional Comments). Nach folgendem schema:

<!--[if lt IE 7]><!--> Anweisungen für IE vor Version 7 und andere Browser <!--<![endif]-->

( . . . [if !IE 5] . . . )

Gibt es noch eine schickere Möglichkeit zum ausklammern von IE-Browsern.

Für eine Beispiel oder Testseite ist CSS und Javascript im Dokument selbst ja ganz praktisch, für die endgültige Version sollten diese dann aber ausgelagert werden.
Wenn man dies tut, dann ist es nicht mehr so toll, mittels Conditional Comments noch mehrere verschiedene CSS-Dateien einzubinden. Auch deshalb habe ich in meinem Beispiel den Star-HTML-Hack für IE6 und nicht Conditional Comments verwendet. Einpaar Hacks findest du in SELFHTML: Spezielle Browserweichen (CSS-Hacks), eine umfangreiche Sammlung für verschiedenste, auch noch ältere Browser findest du bei Kristof Lipferts CSS für alle Browser.

Auf Wiederlesen
Detlef

--
- Wissen ist gut
- Können ist besser
- aber das Beste und Interessanteste ist der Weg dahin!