CSS 实现图片透明度渐变效果

html-css08

CSS 实现图片透明度渐变效果,第1张

实现图片的透明度渐变效果,效果如下:

先说下我的实现,并没有用什么黑科技,而是通过两层图层堆叠的方式来做的。下面一层就是单纯的 svg 图片,上面覆盖了一层遮罩,并设置遮罩的背景色为蓝色到透明色的从左到右渐变。这样,看上去就是一个图片从右到左渐渐变得透明的效果。

这是我比较粗暴的方法,后来在网上看到一种更加优雅的方式:

大体上差不多,重点是 CSS 的 background-image 属性可以设置多张图片,用逗号隔开 。因为我不知道这个属性有这个能力才会额外加了个渐变透明图层来实现效果。

在外层DIV设置了CSS代码如下:

opacity:0.8

-moz-opacity:0.8

filter:alpha(opacity=80)

此时,此层里面的层都为透明层,接下来我们如何让里面的层不透明呢?主要有两个方法:

1、如果是要设置颜色层透明,可以用背景色透明rgba来代替opacity,

2、如果是设置图片层透明,就用ps简单处理一下即可。

opacity这个属性指定的透明是包括里面的所有元素的,不可能只有外面透明,里面不透明。