2013-05-07 14 views
9

次のCSSを使用して、ホバーにグレースケール効果を適用します。 Firefoxの問題点は、画像をわずかにぼかし、1-2ピクセル右にシフトさせることです。なぜこれが起こっているのか分かりません。firefox svgグレースケールの問題 - 画像がぼやけてシフトする

これは固有の問題ですか?どうすれば解決できますか?

.zd-stack img:hover { 
    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 10+ */ 
    filter: gray;      /* IE6-9 */ 
    -webkit-filter: grayscale(100%);  /* Chrome 19+ & Safari 6+ */ 
    -webkit-transition: all .6s ease; /* Fade to color for Chrome and Safari */ 
    -webkit-backface-visibility: hidden; /* Fix for transition flickering */; 
} 

私はCSSを使用したいと思いますが、この小さな問題を修正する方法はわかりません。

+0

本当にこれが問題だと思うのであれば、バグhttp://bugzilla.mozilla.orgを作成してください。 –

+0

ファイアウォールのバグのように思えます.fssの特定の行を削除し、他のホバースタイルを追加しても問題ありません。 。クロスドメインcss svgと何か?...とにかく今のところ私はそれを削除しました。 –

+0

これはあなたの答えですか? http://stackoverflow.com/a/32391958/241291 – cobaltduck

答えて

1

FirefoxとSVGのグレースケールの問題は修正されているようです。

は、あなたのコードサンプルでフィドルを参照してください:

:あなたは今、このコードのより良いバージョンを持つことができますので、https://jsfiddle.net/tzi/rjotsz0p/


Firefoxは、バージョン35(2015年1月)からgrayscale()フィルタをサポートしていますhttps://jsfiddle.net/tzi/x6xcx68g/

.zd-stack img { transition: filter .6s ease; /* Standard (all but IE10+) */ } .zd-stack img:hover { filter: gray; /* For IE6-12 */ filter: grayscale(100%); /* Standard (only FF35+ & IE13+) */ -webkit-filter: grayscale(100%); /* For Chrome, Safari & Opera */ } 
は、この新しいコードでフィドルを参照してください。
関連する問題