毕竟有IE滤镜,所以前者看上去可能不那么显生;Cross-fade需要解释下:
用法:
1 | background-image : -webkit-cross-fade( url ( 1 .jpg), url ( 2 .jpg), 50% ); |
官方草案表达式为:
1 | <image-combination> = cross-fade( <image>, <image>, <percentage> ) |
两个图片地址,外加一个透明度百分比。
这个percentage是作用在第二张图片上的,可以让后面一站图片(2.jpg)半透明,然后产生图片透明度叠加效果。类似这样的:

上例html代码:
1 | < p >Blend in two images with the cross-fade CSS3 property. < a href = "#" >Official specs</ a ></ p > |
2 | < div ></ div > |
3 | < p >Demo by < a href = "#" >@Chris_Krammer</ a ></ p > |
上例css代码:
1 | div { |
2 | width : 400px ; |
3 | height : 200px ; |
4 | background-image : -webkit-cross-fade( url (http://lorempixel.com/ 400 / 200 /sports/ 1 /), url (http://lorempixel.com/ 400 / 200 /sports/ 2 /), 50% ); |
5 | } |
有个疑问:交叉淡入淡出效果中的透明度是两张图片都作用?还是仅作用于后面一张?
您可以点击查看 CSS3 cross-fade属性使用测试(请用chrome打开),效果图如下:

上面效果使用的是cross-fade, 后面效果是通过修改后一张图片的opacity透明度值实现。可以看到,在相同的透明度上,两者的效果是一样的。因此可以得出:cross-fade中的透明度值是只作用于后面一张图片上。
兼容性
目前,仅Chrome以及Safari 6支持该CSS3属性;IE10以及FireFox浏览器是否支持该属性还不得而知。
因此,本文的内容纯当扩充眼界,增加见识。基本上无法再实际项目中应用。
本文转载自:张鑫旭的博客 http://www.zhangxinxu.com
部分素材资源来源网站,本站提供免费下载,如有侵权请联系站长马上删除!