2012-07-21 11 views
12

Dies ist ein funky. Ich bin mir sicher, dass es sich um ein Webkit handelt, da es in Chrome Version 20.0.1132.57 und Safari 5.1.7 nur ein Problem zu sein scheint. Ich habe ein kurzes Video hochgeladen, um das Problem zu erklären, da es fast unmöglich wäre, es per Text zu erklären.Webkit Text Aliasing wird während CSS3 Animationen komisch

Video: http://youtu.be/0XttO-Diz2g

Kurzversion: Während CSS3 Animationen, Text, der in einem positioniertes Element (absolut oder relativ) ist, scheint seine Anti-Aliasing zu ändern. Während Animationen laufen, wird es kühner.

Hinweis: Dies ist nicht das gleiche wie skalierte Elemente verschwommen eine Animation animieren. (this issue)

Irgendwelche Gedanken, Workarounds, etc?

+0

Der entsprechende Code ist in dem Video, aber ich werde versuchen, es bald in jsFiddle neu zu erstellen. –

+0

Der Video-Link funktioniert nicht mehr. – ChrisF

+0

Ein Jsfidle, der das Problem demonstriert, ist [hier] (http://jsfiddle.net/russelluresti/UeNFK/) (mit freundlicher Genehmigung von [diese ähnliche Frage]) (http://stackoverflow.com/questions/12502234/how-to-prevent -webkit-text-rendering-change-während-css-übergang)). –

Antwort

23

Update: Meine alte Antwort unten funktioniert, ist aber nur ein hacky Weg, um das Problem zu lösen. Lesen Sie dies stattdessen aus dem Grund, warum andere Elemente betroffen sind: http://jsbin.com/efirip/5/quiet. Kurz gesagt: Ein animiertes Element sollte in einem eigenen Stacking-Kontext platziert werden, indem man ihm z-index gibt.

Alte Antwort:

Es ist WebKit verwendet. Ehrlich gesagt bin ich nicht sicher, warum es das tut und ich nehme an, es ist auch ein Fehler. Sie können dies verhindern, indem Sie zu jedem Element auf der Seite eine 3D-bezogene CSS3-Deklaration hinzufügen. Beispiel:

body { 
    -webkit-transform: translateZ(0); 
} 

Oder:

body { 
    -webkit-backface-visibility: hidden; 
} 

Das Vorhandensein dieser Erklärungen verursacht WebKit-Hardware-Beschleunigung für die Animationen zu verwenden, die das Problem, das Sie heraus haben darauf verhindert.

+4

WOW. Das hat funktioniert. Wie um alles in der Welt hast du das herausgefunden? Gut gemacht! –

+2

Nur ein Stich in die Dunkelheit! –

+2

** + 1 ** Ausgezeichnete Antwort! – arttronics

Verwandte Themen