Hallo wahsaga!
Dabei sollte man vielleicht auch mal überlegen, ob wirklich alle Elemente, die vorher durch Frames "fixiert" waren, auch nachher noch fixiert sein _müssen_.
Übermäßiger Einsatz von fixer Positionierung verschenkt schließlich wertvollen Platz - und wer ein Frames-Layout lediglich "nachbaut", hat am Ende vielleicht gar nicht viel verbessert.
Nun ja, wenn es nach MIR ginge, müsste oben kein breiter Titelbalken mit Firmenlogo stehen, und die Navi könnte ruhig auch wegscrollen.. zumindest bei den Leuten, die veraltete Browser einsetzen, die kein CSS beherrschen. (Soo lang sind die seiten nun auch wieder nicht..) Aber es geht an der Stelle nicht nach mir.
Der IE-Workaround sorgt dafür, dass ALLE nicht "static" positionierten Elemente "fix", also nicht scrollbar, positioniert werden.
Das umgehe ich bei solchen Layouts meist dadurch, dass ich dem Scrollcontainer position:relative verpasse - dann kann ich ohne Probleme Kindelemente auch absolut positionieren, ohne dass diese dadurch fixiert würden.
Außerdem braucht es dann kein position:static mehr für Elemente, die lediglich "ganz normal" fließen sollen.
Sollte die Lösung so einfach sein? Ich habe es versucht, aber ich verstehe nicht ganz was Du meinst.. ich habe folgendes stylesheet für IE: (fast direkt von SelfHTML "geklaut")
<!--[if lt IE 7]><style type="text/css">
@media screen {
html, body {
height: 100%;
overflow-y: hidden;
}
#wrapper {
height: 100%;
width: 1031px;
overflow: auto;
}
#main_content {
position: static;
padding-top: 160px;
}
}
</style><![endif]-->
Bitte frag mich nicht, warum die Seite 1031px breit sein und am linken Rand kleben muss.. dat is halt so. (wenn ich mal etwas Zeit habe, werd ich zumindest die Titelgrafiken so anpassen, dass ich in der Breite auf 1000px runtergehen kann, und was die positionierung angeht, auch nochmal meine Überredungskünste ins Feld führen)
Wo soll die position:relative jetzt hin, so dass es im IE6 noch geht?
Wird der main content relativ positioniert, scrollt nur noch der (unsichtbare) wrapper-div.
Wird der wrapper-div relativ positioniert, srollt alles.
Wird html oder der body (oder beides) relativ positioniert, ändert sich garnichts.