Brak obsługi position:fixed

Internet Explorer 6 nie pozwala w łatwy sposób „przyczepić” elementu w stałym miejscu ekranu.

position:fixed pozwala uzyskać wizualny efekt ramek (np. zawsze dostępne menu) bez negatywnych efektów ramek.

Rozwiązanie

Użyć:

 position:absolute;positon:fixed

co spowoduje użycie position:absolute w przeglądarkach nie obsługujących fixed.

To obejście może utrudniać przewijanie strony w różnych przeglądarkach, więc najlepiej ten kod serwować wyłącznie Explorerowi 6.

Można też umieścić w <body> wszystkie elementy, które mają być stałe oraz owinąć w <div id="wrapper"> wszystkie pozostałe, a następnie:

 html,body {height:100%;}
 body .elementyFixed {position:absolute;}
 body #wrapper {overflow:auto; height:100%;}

Niestety w takim przypadku pojawia się problem — elementy mające position:absolute wewnątrz elementów z position:relative nie przesuwają się razem z resztą zawartości głównego diva z overflow.

Można to obejść najwyżej skryptem, który przy każdej zmianie scrolla zmieni (choćby odrobine) wartości top/left wszystkich elementów z position:relative.


Spis bugów


Zmodyfikowano: 07.09.2006, 19:28