Ich habe meinen Kommentar als Antwort gegeben, weil meine Vermutung richtig war. Da Ihr Bild ein .png
Bild ist, kann es transparente Pixel enthalten. Wie Ihr Beispiel zeigt, scheint Ihr Code nicht zu funktionieren. Wenn ich das Bild schwebe, vermute ich, dass die weißen Elemente Ihres Bildes tatsächlich transparent sind.
Was ich getan habe, ist einfach kopieren Sie Ihr Bild auf MS Farbe und speichern Sie es als .jpg
. Da das Format jpg
keine transparenten Pixel unterstützt, gibt es keine transparenten Pixel mehr. Das sollte also die Umkehrung überwinden.
Jetzt, wenn Sie Ihren Code ausführen, sehen Sie, dass es einwandfrei funktioniert.
img:hover {
-webkit-filter: grayscale(1) invert(1);
filter: grayscale(1) invert(1);
}
<img src="http://oi64.tinypic.com/6tibys.jpg">
das einzige, was Sie tun müssen, ist also: öffnen Sie Ihr Bild-Editor, und füllen Sie diese „weißen“ Körper mit weißer Farbe. Die äußeren Teile können transparent bleiben. Das wird das Problem beheben, denke ich.
Ich nehme an, dass die Farbe innerhalb des Körpers an diesen zwei weißen Männern (von der schwarzen Linie umrandete) ist nicht weiß, aber transparent. – KarelG