Pseudo Element Animationen/Übergänge Bug in WebKit behoben

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Es gab einen langjährigen Bug in WebKit, dass Pseudo-Elemente (wie ::before und ::after) nicht animiert oder mit Übergängen versehen werden konnten. Seit gestern ist dieser Bug dank Elliott Sprehn behoben. Sie können Google Chrome Canary öffnen und sehen, wie sie funktionieren.

Er bemerkt im Ticket

Die neuen DOM-basierten :before und :after Pseudo-Elemente unterstützen bereits Animationen und Übergänge, aber ich hatte die Unterstützung deaktiviert, damit wir sie in einem separaten Schritt aktivieren können.

DOM-basiert, hm? Ich frage mich, was das genau bedeutet. Können wir ihnen zum Beispiel Events zuweisen? Ich sehe sie in den Chrome-Entwicklertools nicht anders. Wenn jemand es weiß, lasst es mich wissen.

Zur Information: Firefox unterstützt dies schon ewig. Safari wird es wahrscheinlich unterstützen, sobald sie das nächste Mal aktualisieren (sie sind die langsamsten aller Browser bei Updates). Noch keine Unterstützung in Opera. Ich bin mir nicht sicher, wie sich diese Art von Dingen auf mobilen WebKit auswirkt.

IE 10 unterstützt Animationen auf Pseudo-Elementen. Übergänge ebenfalls, aber mit einer seltsamen Einschränkung.

.x:hover:before { /* By itself, doesn't work */ }

.x:hover {} 
.x:hover:before { /* This works (needs :hover declared) */ }

Video, das dies demonstriert von Caleb Kester.

Ich habe diese Tabelle glücklich aktualisiert.