使用在Quirks模式下运行的IE11中的css制作灰度图像

时间:2016-02-29 23:36:37

标签: css internet-explorer-11

我需要将内部旧版Web应用程序上的彩色图像转换为灰度图像。我认为最简单的方法是使用CSS过滤器。由于组策略,此应用程序的用户通过IE11访问它。此应用程序还必须使用Quirks(IE5)文档模式运行,否则会发生疯狂的事情(呈现问题,javascript无法正常工作等)。

我尝试了以下代码(以及来自hereherehere的代码)

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

没有效果。鉴于此标准(IE11以IE5文档模式运行),我可以做些什么来获取这些灰度图像,如果有,怎么做?

注意:重新设计应用程序以使用更现代的技术目前尚未获得资助,将来也不会。

注意:使用某些脚本将每个图像转换为灰度并保存输出也不是一个选项,因为有数百万个图像可用。

链接到显示彩色Google徽标的示例:https://jsfiddle.net/bq2mw5ya/2/

1 个答案:

答案 0 :(得分:4)

实际上我将我的评论作为反馈的答案:

IE特定的过滤器应该是最后一个,所以它不会被下一个过滤。

还应允许Activex运行

当然,应该采用怪癖模式......

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