2012-07-04 32 views
3

對於我目前的項目我使用過濾器-webkit-filter: brightness(-20%);-moz-filter: brightness(-20%);但爲什麼,這個過濾器不適用於Firefox和歌劇(我也有歌劇前綴)。我發現,如何使用這種方式,但我需要將亮度過濾器轉換爲svg代碼。任何想法我怎麼能做到這一點?
我需要做的是一個小畫廊,圖像變暗,並且使用正常圖像懸停而不使用2個圖像。firefox中的亮度過濾器和歌劇沒有svg文件

回答

12

你想使用SVG過濾器。一個過濾器,通過將在每個信道的固定量變暗圖像的一個例子是:

<filter id="darken"> 
<feComponentTransfer> 
     <feFuncR type="linear" intercept="-0.2" slope="1"/> 
     <feFuncG type="linear" intercept="-0.2" slope="1"/> 
     <feFuncB type="linear" intercept="-0.2" slope="1"/> 
    </feComponentTransfer> 
</filter> 

這將20%在每個顏色通道變暗圖像。 Full jsfiddle

+2

在關於css過濾器的MDN頁面中,有一些svg備用示例。 https://developer.mozilla.org/en-US/docs/CSS/filter –

+0

謝謝你拯救我的一天:) – Charles

4

如果你需要更多的跨瀏覽器解決方案,可以使圖像半透明時不徘徊他們:

img { 
    opacity: .7; 
} 
img:hover { 
    opacity: 1; 
} 

這將會變暗他們時,他們是在深色背景的效果。