IE 6 vs. Position: behoben

7

position: behoben, die nicht für Internet Explorer 6 funktioniert. Ich kann die auf Google gefundenen Korrekturen nicht wirklich verstehen. Ich brauche es in IE6, IE7, IE8 & amp; FireFox 3.0.

%Vor%     
Cudos 02.07.2009, 13:27
quelle

5 Antworten

20

Unterstützen Sie IE6 nicht! Je früher Menschen aufhören, Websites für IE6 zu hacken, desto weniger Zugkraft hat sie und desto schneller wird sie sterben! Oder fügen Sie diesen Code nach Ihrem ersten Stilblock hinzu;

%Vor%

Das Ergebnis ist nicht super-glatt, aber es funktioniert.

AKTUALISIEREN

Ich war mir nicht so klar, wie das verwendet werden sollte; Fügen Sie einfach die ID (oder Klasse) aller Elemente, die "position: fixed" haben, der Deklarationsliste am Anfang des obigen Blocks hinzu und sie verhalten sich in IE6.

    
Mathew 02.07.2009, 13:55
quelle
5

ja IE6 saugt. Hier ist der Hack ...

%Vor%

das sagt IE6 im Grunde, dass es absolut oben links positioniert bleibt, auch wenn es scrollt. Dies sollte unter dem Rest Ihres CSS für das Element gehen, so dass es es in IE6 übertreibt.

Hier ist es für Ihre linke Bar ...

%Vor%     
mitchbryson 02.07.2009 13:55
quelle
2

Ich habe es gerade auf IETsters Version von IE6 getestet und es hat super funktioniert ... No Jitter, Whoo!


Nehmen wir an, Sie haben ein Element mit einer Klasse von Box zum Beispiel ... %Vor%



Ersetzen Sie das öffnende <HTML> -Tag durch bedingte IE-Anweisungen ...

<!--[if IE 6]> <html id="ie6"> <![endif]-->

und

<!--[if !IE]--> <html> <!--[endif]-->

Dann mag MatW & amp; mitchbryson schlug vor, 'expression' zu verwenden, um die Position zu simulieren.

Hinweis: Dieser Code folgt den Stilen des ursprünglichen Elements im CSS.

%Vor%



Das Problem ist, dass auf jeder Seite Scroll das Element jitter wird, dies ist eine Möglichkeit zu kompensieren ...

Hinweis: Dieser Code wird ganz oben in Ihrem CSS oder nach Ihrem gestylten "HTML {}" in Ihrem CSS angezeigt.

%Vor%

Nach Thomas Aylott @ SubtleGradient.com,

"... Dies erzwingt die Verarbeitung des CSS, bevor die Seite neu gezeichnet wird. Da es die CSS erneut verarbeitet, bevor es neu gezeichnet wird, wird es weitergehen und Ihre CSS-Ausdrücke vor dem erneuten Zeichnen verarbeiten glatte Position feste Elemente! ""

Artikelverknüpfung: Ссылка

Zum Beispiel alle zusammen ...

%Vor%     
Terry 12.05.2012 16:19
quelle
0

Ich habe diese Lösung gefunden, die ich optimiert habe (Die Zeilen, die ich geändert habe, waren: $ ('# sidebar_left'). css ('top', document.documentElement.scrollTop);):

%Vor%

Es nervt und sieht schlecht aus, funktioniert aber auf allen Browsern einschließlich IE6.

    
Cudos 03.07.2009 13:55
quelle
0

Ich habe vor kurzem ein jQuery-Plugin geschrieben, um die Position zu erhalten: Es wurde in IE 6+ gearbeitet. Es nicht Jitter auf Bildlauf, es sieht die Fähigkeit (nicht User-Agent), funktioniert in Internet Explorer 6, 7, 8.

Wenn Sie den strikten Modus in der IE7 + -Position verwenden: Fixed wird berücksichtigt, aber standardmäßig arbeitet IE7 + im Quirks-Modus. Dieses Plugin prüft auf Browser-Fähigkeit, und wenn es Position nicht einhält: behoben, dann implementiert es den jQuery-Fix.

Ссылка

So etwas mag für Sie funktionieren:

%Vor%

Möglicherweise müssen Sie kleinere CSS-Anpassungen vornehmen, damit es für Ihren Code funktioniert. Ich arbeite an "Offset" -Werten als Optionen, wie wir sprechen.

    
Chris Iona 10.01.2010 02:10
quelle