css - Firefox:图像过渡,缓和到灰度

标签 css firefox css-transitions css-filters

我有在 chrome 中工作的 css,当我在 Firefox 中测试时,它不会工作。 这是代码:

<div class="img">
<a href="/">
<img src="http://upload.wikimedia.org/wikipedia/commons/8/80/Knut_IMG_8095.jpg" alt="Smiley face" height="400" width="600">
</a>
</div>



img {
      -webkit-transition: all 1s ease;
         -moz-transition: all 1s ease;
           -o-transition: all 1s ease;
          -ms-transition: all 1s ease;
              transition: all 1s ease;
    display: block;
    }

img:hover {
    -webkit-filter: grayscale(100%);
    display: block;
    }

演示:http://jsfiddle.net/X8LQk/2/

最佳答案

你只是在使用 -webkit-filter,对于 Firefox 你将需要 SVG 过滤器

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");

Demo


唯一的问题是目前除了 Chrome 之外您将无法传输灰色效果,您可以在 MDN 查看兼容性。或在 Can I Use了解更多详情。

关于css - Firefox:图像过渡,缓和到灰度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21339190/

相关文章:

html - 我可以避免使用 Javascript 来实现这种背景效果吗?

html - CSS 过渡在 IE 中不起作用

html - 在Conkeror的youtube上启用全屏

python - 如何找到更改目录名称的路径?

css - React CSS 翻译转换不起作用

javascript - 如何根据另一个元素的内容添加 HTML 类?

javascript - 在 URL 重写期间阻止 IE/FF 处理 anchor ?

javascript - 如何将 if-else 语句更改为切换?

html - 使 div 与底部保持一定距离。

css - wordpress 投资组合库中图像之间的空间