Wenn ich mit der Maus über meine Schaltfläche fahre, blitzt es zuerst weiß auf, wenn der Übergang gestartet wird. Warum flackert es, wenn ich einen CSS3-Übergang auf meine Schaltfläche anwende? Mein Browser ist Google Chrome
Das Flackern habe ich wegbekommen. Hinzufügen “-webkit-backface-visibility: hidden;» zu den Elementen, die Sie überführen. Voilà!
Farbverläufe und Übergänge funktionieren nicht zusammen scheint die einzige Antwort zu sein: stackoverflow.com/questions/3790273/…
– Peter Ehrlich
7. Februar 2013 um 8:33 Uhr
Erstaunlich, dies hat ein flackerndes Problem behoben, das ich auf dem iPad hatte, als ich ein Skript verwendete, um die Deckkraft eines Containers zu verblassen.
– MeinNameIstKo
10. Oktober 2013 um 21:25 Uhr
Ich hatte ein Problem, bei dem ich die Deckkraft eines Elements änderte, auf das auch ein Textschatten angewendet wurde. Es schien, dass das Verblassen der Deckkraft in Kombination mit der Verlaufsnatur eines Schattens ein seltsames Flackern verursachte. -webkit-backface-visibility: versteckt behoben! Obwohl Sie jetzt, im Jahr 2015, einfach “Backface-Visibility: Hidden” setzen können, indem Sie das Präfix -webkit fallen lassen.
– Aaron
27. Mai 2015 um 23:43 Uhr
Gibt es einen Grund, dies nicht auf alle Elemente mit a anzuwenden * wenn ich viele Übergänge mache?
– Sam Eaton
27. Mai 2016 um 3:01 Uhr
auch, wenn Sie ein Element überführen, das ein Bild enthält. Wenden Sie die Eigenschaft auch auf das Bild an. Das hat bei mir funktioniert
– Ion
16. Dezember 2016 um 10:18 Uhr
Miguel hat Recht, was die Rückseitensichtbarkeit betrifft, die den störenden Blitz behebt. Ich verwende jedoch die Transformationsskalierung und die SVG-Animation wird nach der Skalierung nicht scharf sein. Es ist scharf, wenn Sie die Eigenschaft backface-visiblity nicht verwenden.
Sie haben also entweder eine nette Animation mit einer verschwommenen Grafik oder eine gut aussehende Grafik mit Bildschirmblitzen.
Sie können jedoch die folgende Zeile zum übergeordneten Objekt des zu überführenden Objekts hinzufügen, wodurch das Blinken des Bildschirms behoben wird und Ihre Grafik nach dem Skalieren immer noch scharf wiedergegeben wird.
-webkit-transform: translate3D(0, 0, 0);
Du hast gerade meinen Abend gerettet. Vielen Dank!
– Tsury
29. August 2017 um 23:01 Uhr
Graham Conzett
Ich glaube, es ist derzeit ein Problem ohne Lösung. Auch ich bin darauf gestoßen, bevor ich herumgespielt habe, und konnte es nicht zum Laufen bringen. Die Verwendung einer Volltonfarbe scheint in Ordnung zu sein oder sie mit einem Hintergrundbild vorzutäuschen.
Ähnliche Frage hier: Webkit-Unterstützung für Gradientenübergänge
Das Flackern, das Sie bemerken, ist eigentlich die Hintergrundfarbe der Schaltfläche, die in transparent geändert wird (also “blinkt” die Schaltfläche oder wird in Ihrer Fiddle weiß, weil die Hintergrundfarbe des Körpers weiß ist).
Wenn Sie Ihre Schaltfläche über ein anderes Element mit genau derselben Größe/Höhe/Hintergrundfarbe (einschließlich Farbverläufen) legen, ist das “Flimmern” nicht wahrnehmbar.
Ich denke, das Problem ist, dass Sie für Google Chrome- und Microsoft Edge-Webbrowser von einem Hintergrund mit linearem Farbverlauf zu einer durchgehenden Hintergrundfarbe wechseln. Um dieses Problem zu beheben, würden Sie Ihren Pseudoklassen einen ähnlichen Hintergrund mit linearem Farbverlauf hinzufügen, in diesem Fall :hover und :active. Ich habe es selbst auf Ihrem jsfiddle ausprobiert und ich hatte kein Blinken im Rendering, während ich mit der Maus über die Schaltfläche schwebte.
Es gibt keine Probleme mehr mit dem Blinken, wenn ich in Chrome oder Microsoft Edge über die Schaltfläche fahre. Ich hoffe das hilft.
Bei einem ähnlichen Problem halfen die Vorschläge von Jan, alle Hintergrundbilder außer einem zu verbessern. Das Flackern des letzten habe ich beseitigt, indem ich zwei widersprüchliche Positionierungsregeln bemerkte. Ich hatte für ein position:static eine Regel margin-top:-3em (minus) und das andere margin-top:5em (Plus). Daher schlage ich vor, dass Sie die Konsistenz der Positionierung sorgfältig überprüfen, wenn Sie auf ein solches Problem stoßen.
In Ihrem Fall, Michelle, habe ich mit einer längeren Verzögerung von 1 s bis 3 s getestet, was mir geholfen hat zu verstehen, was diese klarere Phase ist, ein Blitz mit einer sehr kurzen Verzögerung. Ihr Farbverlauf beginnt tatsächlich ohne Hintergrund und was Sie sehen, ist der Hintergrund der Seite. Ich habe diese Informationen erhalten, indem ich den Hintergrund des Hauptteils meiner Testseite von Elfenbein auf Schwarz geändert habe.
Als ich Ihren Farbverlauf auf einem schwarzen Hintergrund ausprobierte, bekam ich eine schwarze Bühne / einen schwarzen Blitz (bei 3 Sekunden leichter zu sehen). Vielleicht sollte es ratsam sein, die Reihenfolge Ihrer Regeln zu testen und auch zu verstehen, warum der Verlauf vom Hintergrund des Körpers oder der Eltern ausgeht und nicht von Ihrem Hintergrund.
Eine Problemumgehung könnte darin bestehen, Ihre Schaltfläche in einem Div mit rotem Hintergrund Ihrer Schaltfläche auf die genaue Größe und Form Ihrer Schaltfläche festzulegen.
Was versuchst du zu erreichen? Versuchen Sie es zu entfernen
-webkit-transition
und sehen, ob es hilft.– Ilia Frenkel
13. April 2012 um 3:48 Uhr
Ich versuche, es in einer anderen Hintergrundfarbe verblassen zu lassen.
– Jürgen Paul
13. April 2012 um 3:51 Uhr
diese Schaltfläche entfernen: hover { background:#ff3019; } button:active { background:#cf0404; }
– Jacob Anthony Tonna
18. Januar 2013 um 19:23 Uhr