• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Web设计中的CSS混合模式_css

css 搞代码 7年前 (2018-06-11) 200次浏览 已收录 0个评论
文章目录[隐藏]

使用过Photoshop或Illustrator的人都清楚里面有一个图层的混合模式。

Web设计中的CSS混合模式_css

例如:Multiply, screen, overlay 和 soft light等等,使用这些混合模式,配上一定的透明度,让你的效果更佳。然而,Web设计师能掌握好“混合模式”就能制作出好的页面吗?对的,透明度opacity,就是他。

酷的东西并不难,如果要将这些效果用css实现出来还是有难度的,或者是有点不可能。如下图效果,第一行从左到右依次是:Doublenaut, Graham Hicks, Jonathan Quintin和Geoff Teehan。第二行从左向右依次是:Ben Johnson, Claire Morales, Alan Defibaugh和Jess Barlow。

Web设计中的CSS混合模式_css

混合模式和Web页面

值得可惜的是,不能有更多的混合模式像opacity属性得到众多浏览器的支持,事实也证明,要让浏览器实现类似于Photoshop中图层混合模式的效果还是一件难以完成的任务。有一些混合模式通过滤镜在SVG中是可用的,但这些都是有限的,在实际项目中用到并不多见。

尽管这样,事情正在快速往好的方面发展,现在在制定有关于CSS混合模式规范的草案。Adobe Web平台团队正在大力推广CSS混合模式。(这个团队还在推广其他一些有兴趣的CSS特性,如Regions和Shaders)。

眼下,有关于CSS混合模式规范草案中提供了三个属性:background-blend-modemix-blend-modeisolation。让我们一起来探索他们。

Canvas 2D: 他会有混合模式?

Web设计中的CSS混合模式_css

首先,这里有一个小秘密。混合模式在html5的Canvas中的应用除了在IE浏览器的其他所有最新浏览器都得到支持。甚至在移动端的Chrome和Safari的浏览器上也得到支持。但是我们为什么要停止呢?混合模式在CSS中非常有用。

CSS的混合模式:background-blend-mode

Web设计中的CSS混合模式_css

background-blend-mode属性允许指定一个元素背景层的混合模式。无论是元素的背景颜色background-color、背景图像background-image或者用渐变实现的背景图片,都可以通过background-blend-mode来指定混合模式。

Web设计中的CSS混合模式_css

不要认为这个属性会得到多大用处?不要让你的页面走得更远。当你为一篇文章从后台上传了一张大图,给背景使用混合模式的Medium值,让你的标题显得更突出。但是,浏览器还不支持CSS混合模式,要让浏览器支持还有很漫长的路要走。上传六张不同颜色的图像适应每个人,后端服务器完成需要一定的过程。这对于读者来说,比直接使用CSS混合模式要慢一些。这个属性也可以运用于其他一些地方:

Web设计中的CSS混合模式_css

背景混合模式可能会被用来制造这些类似的效果甚至更好。

mix-blend-mode属性

虽然background-blend-mode属性对于背景的混合非常严格,但我们还是非常喜欢在HTML和SVG元素上像PSD中的图层一样混合背景层。这也就是mix-blend-mode属性强大之处。

mix-blend-mode可以将元素和他的背景混合在一起。也许你可以尝试,在背景上使用混合模式中的screen,要强过于使用背景颜色中的rgba()。你也可以在加载动画和混合模式上使用一个无穷数。isolation属性可以隔离元素上使用mix-blend-mode属性,用于隔离元素与背景图像的混合。

使用mix-blend-mode要比background-blend-mode更复杂,所以讨论他也更费时间,但并不会让你失望。因为CSS的混合模式即将就要到来。

我们现在可以使用CSS混合模式吗?

现在还不行,但希望今年可以得到支持。该规范已得到SVG规范小组的支持,现在就等CSS规范小组支持,也成为候选推荐标准。一旦发生这样的情况,步子就很快了,可以期望浏览器支持CSS混合模式。

至于浏览器的支持,这里有一个简短的总结:(结止于2014年1月份)

  • Firefox:在版本29中开始支持background-blend-mode属性,但还有一个Bug(如Demo),他们还在研究当中。而且使用mix-blend-mode属性需要在“about:config”中开启。
  • Safari:在"Webkit Nightly"中可以支持background-blend-mode,但并不支持mix-blend-mode
  • Chrome和Opera:使用mix-blend-modebackground-blend-mode需要在“chrome://flags”或“opera://flags”中开启“Experimental Web Platform Features”。
  • Internet Explorer:在Canvas中不支持CSS混合模式,并且目前还找不到任何发展信息。

欢迎大家阅读《Web设计中的CSS混合模式_css》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Web设计中的CSS混合模式_css

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址