【问题标题】:Contrast overload using CSS3 grayscale filter in Safari 6在 Safari 6 中使用 CSS3 灰度过滤器进行对比度过载
【发布时间】: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


    【解决方案1】:

    只需combine 过滤器:

    -webkit-filter: grayscale(100%) contrast(.5);
    

    【讨论】:

      猜你喜欢
      • 2020-03-01
      • 2014-02-10
      • 1970-01-01
      • 2014-06-08
      • 1970-01-01
      • 2017-09-27
      • 2012-02-11
      • 2013-05-31
      • 1970-01-01
      相关资源
      最近更新 更多