Horizontale position:fixed für IE6
Bombu
- css
Hallo Zusammen
ICh hab das alt bekannte problem vom "position:fixed" für den IE6.
Für Header/footbars, also vertikaler fixierung, hab ich diverse Workarounds im www gefunden. Leider schaff ich es nicht, diese Workarounds auch auf horizontale fixierung umzuändern.
Ist das überhaupt möglich?
Ein Div, soll wie im beispiel (rote box,) einfach immer rechts positioniert bleiben, auch wenn man horizontal scrollt.
Jemand eine Idee wie ich das sauber lösen kann?
Gruss Bombu
Hi,
ICh hab das alt bekannte problem vom "position:fixed" für den IE6.
Für Header/footbars, also vertikaler fixierung, hab ich diverse Workarounds im www gefunden. Leider schaff ich es nicht, diese Workarounds auch auf horizontale fixierung umzuändern.
Ist das überhaupt möglich?
Warum sollte es das zunaechst mal grundsaetzlich nicht sein?
Jemand eine Idee wie ich das sauber lösen kann?
Vielleicht waere etwas mehr als "schaff ich nich" ein guter Anfang.
MfG ChrisB
Warum sollte es das zunaechst mal grundsaetzlich nicht sein?
Keine Ahnung, ich hab schon erlebt, dass gewisse sachen sich horizontal anderst verhalten wie vertikal.
Vielleicht waere etwas mehr als "schaff ich nich" ein guter Anfang.
In den Beispielen wird mit "overflow-y:hidden" gearbeitet. Wenn ich alle "y" durch "x" ersetzte, bleibt das div trotzdem nicht horizontal stehen.
Gruss Bombu
Hi,
In den Beispielen wird mit "overflow-y:hidden" gearbeitet. Wenn ich alle "y" durch "x" ersetzte, bleibt das div trotzdem nicht horizontal stehen.
Na sowas :-)
Hast du das *Prinzip* verstanden, mit dem fixe Positionierung fuer den IE < 7 simuliert wird?
Wenn ja, sollte es auch moeglich sein, das "um 90 Grad gedreht" zu machen.
MfG ChrisB
Hast du das *Prinzip* verstanden, mit dem fixe Positionierung fuer den IE < 7 simuliert wird?
Nein, das hab ich wohl nicht ganz verstanden, drum frag ich ja hier nach :-)
Hi,
Hast du das *Prinzip* verstanden, mit dem fixe Positionierung fuer den IE < 7 simuliert wird?
Nein, das hab ich wohl nicht ganz verstanden, drum frag ich ja hier nach :-)
Gut, dann eine kurze Erklaerung:
position:fixed funktioniert bei korrekter Umsetzung durch den Browser bekanntermaszen so, dass man einfach einigen Elementen sagt, "beweg' dich beim scrollen des restlichen Seiteninhalts nicht mit, und bleib an deinem Platz".
Versteht der IE < 7 aber nicht, deshalb greift man zu folgendem Workaround:
Man laesst nicht den eigentlichen Inhalt des body-Elements scrollen, sondern unterbindet dies explizit du overflow:hidden.
Dann nimmt man sich einen Div-Container, den man 100% der Viewporthoehe einnehmen laesst, und erlaubt fuer diesen per overflow:auto Scrollbalken, wenn sein Inhalt hoeher bzw. breiter sein sollte. Alles, was ganz normal scrollen soll, packt man in diesen Container.
Alles, was fixed sein soll, wird ausserhalb dieses Containers notiert, und absolute positioniert. Da nur der Containerinhalt gescrollt wird, bleibt es damit ebenso "stehen", als ob es in einem Browser, der es kann, fixed positioniert waere.
Das ganze versteckt man dann per Conditional Comments oder CSS-Hacks vor den Browsern, die position:fixed richtig umsetzen - und fertig ist das Gartenhaeuschen ...
(Kleiner Nachteil des Workarounds: Bei Positionierung von rechts aus muss die Scrollbalkenbreite mit einkalkuliert werden, da die Element sonst ueber diesem - der jetzt ja nicht mehr zum body, sondern zum Scrollcontainer "gehoert" - platziert werden. Und Breitenangaben a la 100% fuer dermaszen fixierte Elemente sind eben deswegen gleichfalls problematisch.)
MfG ChrisB