使用css在奇怪模式下运行IE11中的灰度图像
问题描述:
我需要将内部遗留Web应用程序上的一些彩色图像转换为灰度。我想最简单的方法是使用CSS过滤器。由于组策略,此应用程序的用户通过IE11访问它。此应用程序还必须使用Quirks(IE5)文档模式运行,否则会发生疯狂的事情(呈现问题,JavaScript无法正常工作等)。使用css在奇怪模式下运行IE11中的灰度图像
我曾尝试下面的代码(以及从here,here代码,并here)
img.desaturate {
-webkit-filter: grayscale(100%);
filter: gray;
filter: grayscale(100%);
filter: url(desaturate.svg#greyscale);
}
与没有影响。根据这个标准(IE11运行IE5文档模式),我能做些什么来获得这些灰度图像,如果是这样,如何?
注意:重新设计应用程序以使用更先进的技术目前尚未获得资助,且不会在未来。
注意:用一些脚本将每个图像转换为灰度并保存输出也不是一个选项,因为有数百万的图像可用。
链接到的例子,显示丰富多彩的谷歌徽标:https://jsfiddle.net/bq2mw5ya/2/
答
其实我想谈谈我的意见,作为饲料的话回复:
IE特定的过滤器应背水一战,所以它不会被下一个在此改变一。
的ActiveX,也应该允许运行
,当然还有,它应该是怪异模式...
img.desaturate {
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
filter: url(desaturate.svg#greyscale);
filter: gray;
}
+1
看起来我需要的只是最后一行,因为这个应用程序不支持IE11 + IE5以外的任何内容。谢谢(你的)信息。 – Zymus
你能也许张贴Plunker或其他代码示例?如果您的CSS没有问题,那么您的HTML可能有问题:) – Witchfinder
if filter:grey;是**设置最后** IE浏览器使用IE5(怪癖模式),它工作,如果允许运行ActiveX,否则什么也没有发生测试http://codepen.io/anon/pen/MyYmEw在右下角,点击导出,选择然后在本地运行文件,使用与您的站点相同的配置 –