网页设计中的颜色加深混合模式

3

是否有可能创建与Photoshop中可用的Color Burn、Color Dodge、Soft Light等透明效果相同的透明效果?我知道CSS3中的“background-blend-mode”,但其支持有限。是否有一些方法可以在主要使用的浏览器中使其工作,包括IE9?也许可以通过类似于CSS3pie的某些黑客方式实现?

1个回答

4

你提到了background-blend-mode,没错 - 它是混合颜色的最佳方法之一,但惊喜吧,IE甚至在Edge中也不支持它,这令人遗憾。这篇精彩的文章列出了所有的blend-mode选项和它们的效果,包括你提到的color-burncolor-dodge

还有filter,它被一些浏览器支持,但不被Internet Explorer/Edge支持。

Polyfills(兼容性插件)可以让我们更接近目标,但并不能完全解决问题。

Github上已经有一个Filter Polyfill,为filter提供了IE6-9的支持(其他主要浏览器已经支持它)。

blend-mode则更为困难。虽然有兼容性插件可用,但它们通常不支持IE甚至不支持多种类型的blend-mode

那我们该怎么办呢?如果连兼容性插件都不能解决问题,那么就是时候放弃支持一个不被支持的特性,并使用完整功能的库,例如jquery的插件。

一番研究后,我发现了Blend-Mode,它似乎在Internet Explorer上工作得还可以,尽管远非完美。

还有Pixastic库,它有许多其他功能,在IE9上似乎能正常工作,但在8或以下版本上会有困难。

这意味着什么?

基本上 - 我知道这不是你想要的答案 - 但根据我的研究,目前很难找到真正支持IE的解决方案。支持canvasblend-mode的支持几乎不存在,而这些插件的质量也难以保证。

你有两个选择 - 只在现代浏览器上使用这些技术,或者先使用类似Photoshop的程序处理图片,然后上传到你的Web服务器(因为Internet Explorer导致你失去了即时处理的能力)。

我希望我在这里的研究可以对你有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接