【问题标题】:Is it possible to filter an image in IE8 to black and white?是否可以将IE8中的图像过滤为黑白?
【发布时间】:2016-01-29 09:09:25
【问题描述】:

我尝试了下一个代码,但它甚至在 IE10 中也不起作用:

img#lena-desaturate{
  -webkit-filter: grayscale(1);
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  filter: url(#greyscale);
  filter: gray;
}

或者一个例子here

【问题讨论】:

  • 请包含您的 HTML(至少是 SVG 部分)。您能否告诉我们该代码是否适用于 IE 以外的其他浏览器?还是到处都卡住了?
  • 请仔细阅读问题。我有一个例子的链接。适用于除 IE 之外的所有浏览器(在 IE10、IE9、IE8 上测试)
  • 我已阅读并检查了示例。我必须确认,您是否也完成了 SVG 部分,或者只是尝试使用 CSS 来创建这种效果?
  • 我正在尝试仅使用 CSS 来执行此操作。有可能吗?

标签: html css


【解决方案1】:

您将能够在某些浏览器及其某些纯 CSS 版本中获得效果,但一些来源建议添加 SVG 选项将增加浏览器支持。

See this example.

还有一个单独的 IE 修复承诺在版本 6 - 9 中有效,适用于 CSS,但仍然指的是 SVG 的使用

img.desaturate{
    -webkit-filter: grayscale(100%);
    filter: gray;
    filter: grayscale(100%);
    filter: url(desaturate.svg#greyscale);
}

【讨论】:

  • 这不起作用。阅读整篇文章,您会发现它在 IE 上不起作用。这一切都在红带上。
  • 如果你不使用它需要的 SVG,它肯定不会工作。似乎没有广泛支持的纯 CSS 解决方案。要么支持 SVG,要么支持 JS,在这种情况下,我宁愿选择 SVG。
【解决方案2】:

从版本 6 开始,Internet Explorer 原生支持灰度过滤器,但最近微软决定移除这个原生 CSS 过滤器,并且从版本 10 开始,IE 不再使用旧技术显示灰度图像。

但是有一个跨浏览器的灰度图像解决方案

阅读这篇文章 - http://www.majas-lapu-izstrade.lv/cross-browser-grayscale-image-example-using-css3-js/

【讨论】:

  • 你应该提到这个解决方案也需要使用JS。
  • 是的,我的问题只是关于 CSS 的。我正在寻找一个纯 CSS 解决方案。
猜你喜欢
  • 2023-04-02
  • 2011-03-08
  • 1970-01-01
  • 2013-01-09
  • 1970-01-01
  • 2013-10-11
  • 2013-07-26
  • 2011-11-29
  • 1970-01-01
相关资源
最近更新 更多