Ich hämmere meinen Kopf gegen die Wand mit einem Problem, das ich in IE8 habe. Ich benutze die Funktion fadeIn von jQuery, um den Inhalt der Seite einzublenden. Dies funktioniert in allen anderen Browsern einwandfrei, aber wenn das fadeIn in IE8 beendet wird, scheint sich das Antialiasing der Schriftart zu ändern, was den Text leicht verschiebt.
Sie können die Website unter Ссылка sehen. Der Code, den ich verwende, um das Einblenden zu bewirken, ist ziemlich einfach, wie unten gezeigt.
%Vor%Der Code wird von einer setInterval-Funktion aufgerufen, wenn dies einen Unterschied macht.
Wie bereits erläutert, wird dies von Cleartype im Internet Explorer verursacht. Es gibt jedoch eine Problemumgehung, die dieses Problem zumindest tolerierbar macht.
%Vor%Das sollte IE zwingen, die Transparenz zu löschen und den Text damit normal darzustellen.
Es ist immer noch nicht schön, leider.
Dies wird dadurch verursacht, dass ClearType im Internet Explorer verschwindet, was ziemlich ärgerlich ist.
Ich weiß, dass meine Antwort ein bisschen zu spät kommt, aber wie wäre es, wenn ich umgekehrt denke? IE7 / IE8 behält kein Anti-Aliasing für Faded Text. Wenn Sie also einen einfarbigen Hintergrund (z. B. Schwarz) haben, können Sie ein leeres div, Hintergrundfarbe: # 000; Position: absolut; Bildschirmsperre; und lege es über das Textelement.
Wenn Ihre Anfrage einen Text-FadeIn-Effekt haben soll, müssen Sie den FadeOut nur auf die "schwarze" Ebene anwenden und umgekehrt.
Auf diese Weise wird der Text-Anti-Alias beibehalten.
Entschuldigung für die sehr späte Antwort, aber ich hatte das gleiche Problem und suchte nach einer Lösung, als ich auf dieses Thema stieß. Ich habe in diesem Thema keine funktionierende Lösung gefunden, aber ich habe eine einfache Lösung gefunden, die das Problem perfekt zu lösen scheint.
Anstatt zu verwenden:
$ ('. element'). fadeIn (500)
Verwenden Sie fadeTo und blenden Sie auf 99%:
$ ('. element'). fadeTo (500, 0.99)
Sie werden keinen Unterschied in der 1% sehen und da es nicht 100% Deckkraft erreicht, scheint IE keinen cleartype anzuwenden.
Lassen Sie mich wissen, ob dies für jemand anderen funktioniert.
muss nach Abschluss des Fade-Effekts aufgerufen werden (z. B. 500 ms nach usw.)
Ich habe das behoben, indem ich die CSS für den erforderlichen Text hinzugefügt habe
Filter: Alpha (Opazität = 99);
dies wird nur bewirken, dh. Ich bekomme immer noch eine kleine Verschiebung in ie7, aber es ist ausnahmslos.
Sie können sehen, dass es hier funktioniert Ссылка
Ich habe eine Lösung: Erstellen Sie ein weiteres DIV auf Ihrem DOM als Overlay und führen Sie Ihre Fade-Funktionen nur auf diesem DIV aus. Es wird so aussehen, als würde der Inhalt ein- und ausgeblendet. Dieser Ansatz ist auch leistungsfähiger, da Sie nur ein einzelnes DIV anstelle von mehreren Elementen ausblenden. Hier ist ein Beispiel:
%Vor%Ich hatte auch Probleme mit transparenten PNGs in verblassten Bereichen, aber mit dem obigen JS zum Entfernen des Filterattributs mit einem winzigen bisschen CSS wurde die Bildschwarz-Grenze beim Ausblenden entfernt.
In meinem Fall war es ein Element, das ein css-Sprite verwendet, also musste ich das nur zu meiner Sprite-Klasse in der CSS hinzufügen:
%Vor%Tags und Links javascript internet-explorer jquery