Thomas Fehige: Statt Frames?

Beitrag lesen

Ja. Fixierte, nicht mit-scrollende Elemente bekommst du mit position:fixed, und Container mit eigenem Scrolling bekommst du, indem du ihnen eine definierte Größe gibst und mit overflow:auto oder overflow:scroll deren eigenes Scroll-Verhalten festlegst.

OK, position:fixed hatte ich gefunden. Und dass ich bspw. die Höhe und Schriftgröße des Headers an die Viewport-Höhe anpassen kann. Das Problem ist, wie der <main>-Container seine "definierte Größe" findet. Die Höhe des Headers ist ja nicht fix sondern variabel. Das Menü kann bei engem Bildschirm oder großer Schrift einen Zeilenumbruch "erleiden", der User kann die Schriftgröße anpassen usw. In dem Beispiel hier: http://wiki.selfhtml.org/wiki/CSS/Anwendung_und_Praxis/feststehender_footer wird ein schriftgrößenabhängiger oberer Abstand für <main> eingegeben. Das ist ja m.E. ziemlich gefudelt, weil es sich eben nicht unterschiedlichen Displays anpassen kann.

ABER: So praktisch es erscheinen mag, z.B. die Navigation immer erreichbar zu haben - fixierte Elemente können auch lästig oder gar problematisch sein. Nämlich dann, wenn sie einen großen Anteil des Browserfensters beanspruchen. Und da du nicht vorhersehen kannst, wie klein der Bildschirm bzw. das Browserfenster bei deinen Besuchern ist (denk an Mobilgeräte), bleibt eventuell nur noch ein winziges Gucklock für den eigentlichen Inhalt übrig, im Extremfall gar nichts. Ich würde daher von fixierten Elementen abraten und stattdessen herkömmlich die gesamte Seite scrollen lassen.

Gut, ich könnte die fixen Elemente mit Größen- und Mindestgrößenangaben halbwegs an die wechselnden Gegebenheiten anzupassen versuchen. Aber letztlich ist die schlichte Methode eben wohl auch die, die am wenigsten graue Haare produziert. Schade.

Dank + beste Grüße -- Thomas