Yorumumu cevap olarak verdim çünkü tahminim haklıydı. Resminiz .png
görüntü olduğundan, saydam pikseller içerebilir. Örneğiniz tarafından görüldüğü gibi, kodunuz çalışmıyor. Görüntünün üzerine geldiğinde, görüntünün beyaz öğelerinin aslında saydam olduğunu tahmin ettim.
Yaptığım şey sadece resminizi MS boyasına kopyalayıp .jpg
olarak kaydetmektir. Bunun sonucu olarak, jpg
biçimi saydam pikselleri desteklemediğinden, artık saydam piksel yoktur. Yani bu tersine çevirme sorununun üstesinden gelmelidir.
Şimdi kodunuzu çalıştırdığınızda, kusursuz çalıştığını görürsünüz.
img:hover {
-webkit-filter: grayscale(1) invert(1);
filter: grayscale(1) invert(1);
}
<img src="http://oi64.tinypic.com/6tibys.jpg">
Yani, yapmanız gereken tek şey şudur: resim düzenleyici açın ve beyaz renk ile bu "beyaz" organları doldurun. Dış parçalar şeffaf kalabilir. Bu, sanırım sorunu çözecek.
kontrastı (sağ görüntüleri bakınız) artan çözebilirsiniz beyaz değil, şeffaf. – KarelG