2016-02-29 90 views
-1

我正在尋找鼠標懸停在圖像上的灰度效果,並發現這個代碼確實有效。但我得到另一個問題,我有PNG圖像透明背景,使用下面的代碼填充鼠標懸停上的白色背景。 我確實有使用兩個不同背景圖像的替代方案,這看起來很乾淨和簡短。 你能否建議應該做些什麼修改以及我可以選擇哪些替代方案?透明PNG圖像對鼠標懸停的灰度影響

img.grayscale { 
    filter: url("data:image/svg+xml;utf8,<svg 
xmlns=\'http://www.w3.org/2000/svg\'><filter 
id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 
0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/>/filter></svg>#grayscale"); /* Firefox 3.5+ */ filter: gray; 

    /* IE6-9 */ 
    -webkit-filter: grayscale(100%); 
    /* Chrome 19+ & Safari 
6+ */ 
} 
img.grayscale:hover { 
    filter: none; 
    -webkit-filter: grayscale(0%); 
} 

非常感謝

回答

1

您的代碼不會因爲語法錯誤的工作,你沒有正確關閉評論。在那旁邊,過濾器應該按預期工作:

body { 
 
    background: gray; 
 
} 
 

 
img.grayscale { 
 
    filter: url("data:image/svg+xml;utf8,http://www.w3.org/2000/svg\'>#grayscale"); /* Firefox 3.5+ */ 
 
    filter: gray; /* IE6-9 */ 
 
    -webkit-filter: grayscale(100%); /* Chrome 19+ & Safari 6+ */ 
 
} 
 

 
img.grayscale:hover { 
 
    filter: none; 
 
    -webkit-filter: grayscale(0%); 
 
}
<img src="http://www.lavera.de/fileadmin/_processed_/csm_Avocado-Frei_7fac93857c.png" alt="" class="grayscale">

+0

感謝阿齊茲但是這個代碼已經工作。我的問題是,我使用的是透明背景的PNG圖像,在鼠標懸停時使用上面的代碼填充白色背景。如何在鼠標懸停的情況下實現PNG圖像的透明背景? – Sunil

+0

我無法重現您的問題,懸停時沒有白色背景。你使用的是什麼瀏覽器?你在演示中看到白色背景嗎? – Aziz

+0

謝謝阿齊茲。圖像的父元素顯示的不是PNG圖像的背景。我的錯! – Sunil