毕竟有IE滤镜,所以前者看上去可能不那么显生;Cross-fade需要解释下:
用法:
background-image: -webkit-cross-fade(url(1.jpg), url(2.jpg), 50%);
官方草案表达式为:
<image-combination> = cross-fade( <image>, <image>, <percentage> )
两个图片地址,外加一个透明度百分比。
这个percentage是作用在第二张图片上的,可以让后面一站图片(2.jpg)半透明,然后产生图片透明度叠加效果。类似这样的:
上例html代码:
<p>Blend in two images with the cross-fade CSS3 property. <a href="#">Official specs</a></p> <div></div> <p>Demo by <a href="#">@Chris_Krammer</a></p>
上例css代码:
div { width: 400px; height: 200px; background-image: -webkit-cross-fade(url(http://lorempixel.com/400/200/sports/1/), url(http://lorempixel.com/400/200/sports/2/), 50%); }
有个疑问:交叉淡入淡出效果中的透明度是两张图片都作用?还是仅作用于后面一张?
您可以点击查看 CSS3 cross-fade属性使用测试(请用chrome打开),效果图如下:
上面效果使用的是cross-fade, 后面效果是通过修改后一张图片的opacity透明度值实现。可以看到,在相同的透明度上,两者的效果是一样的。因此可以得出:cross-fade中的透明度值是只作用于后面一张图片上。
兼容性
目前,仅Chrome以及Safari 6支持该CSS3属性;IE10以及FireFox浏览器是否支持该属性还不得而知。
因此,本文的内容纯当扩充眼界,增加见识。基本上无法再实际项目中应用。
本文转载自:张鑫旭的博客 http://www.zhangxinxu.com