【发布时间】:2013-11-06 01:45:10
【问题描述】:
对投资组合图像使用 CSS3 灰度过滤器。在 Chrome、Firefox、Safari 7 和 iOS 中看起来很棒。
Image-Chrome 30: Chrome 30 http://pikku.co/test/chrome-hover.png
Image-Firefox 24: Firefox 24 http://pikku.co/test/firefox-hover.png
Safari 6 中的对比度过载。灰色完全被吹散,黑色过度饱和。
Image-Safari 6: Safari 6 http://pikku.co/test/safari-hover.png
代码:
img.grayscale {
/* Firefox 10+ */
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");
/* IE6-9 */
filter: gray;
/* Chrome 19+ & Safari 6+ */
-webkit-filter: grayscale(100%);
/* Fade to color for Chrome and Safari */
-webkit-transition: all .6s ease;
/* Fix for transition flickering */
-webkit-backface-visibility: hidden;
}
img.grayscale:hover {
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 1 0\'/></filter></svg>#grayscale");
-webkit-filter: grayscale(0%);
}
添加对比度滤镜-webkit-filter: contrast(.5),可以消除灰度效果。关于如何在 Safari 6 中控制对比度的任何想法?
演示站点:flowmedia.dk
【问题讨论】:
标签: css cross-browser safari safari6