Wenn Sie einen -webkit-Filter und ein -Webkit-Übergang auf ein Bild anwenden und den Filter bei Hover ändern, funktioniert der Bildübergang gut, aber dann wird das Bild wirklich unscharf.CSS-Filter auf Retina-Display: Fuzzy-Bilder
Hinweis: Dies geschieht nur auf Retina-Displays - kein Problem mit 'normalen' ppi-Displays, aber flockig auf beispielsweise einem neuen MacBook Pro mit Retina Display.
Meine CSS (ohne Anbieter-Präfixe):
img {filter:grayscale(1);filter:saturate(0%);transition:2s ease;width:200px;height:200px}
img:hover {filter:grayscale(0)}
Hinweis: Um die Wirkung/Fehler zu sehen, habe ich die Übergangszeit auf 2 Sekunden eingestellt
überprüfen meine Demo aus: http://jsfiddle.net/dya2t/7/
Wie kann ich das beheben?
EDIT: Wenn ich den: Hover-State zu filtern: keine ist scharf! :-) ABER natürlich funktioniert der Übergang nicht mehr: -/ Sobald ein Bild gefiltert ist (auch wenn der Wert 0 oder 0% ist), wird das Bild unscharf auf Retina-Displays (mit oder ohne Übergänge) ... es ist einfach verschwommen, die ganze Zeit). Ich schätze das ist ein Filter-Bug.
Dies ist ein bekannter Fehler in WebKit https://bugs.webkit.org/show_bug.cgi?id=93471
Sie können Kette Filter wie folgt: 'Filter: Graustufen (0,5) blur (1 Pixel) sättigen (2);' etc ..: http://jsfiddle.net/meo/dya2t/9/ aber ich weiß nicht, ob das dein Problem behebt ich habe kein Retina-Bildschirm – meo
@ Meo: Kettenfilter leider nicht helfen, thx trotzdem – albuvee
In Ihrer Fiddle überschreibt der Sättigungsfilter einfach die Graustufen. Sie sollten die Sättigung loswerden. Es wird das Schärfe-Problem nicht lösen, aber zumindest wird dein Filter funktionieren :) – robertp