实现图片的透明度渐变效果,效果如下:
先说下我的实现,并没有用什么黑科技,而是通过两层图层堆叠的方式来做的。下面一层就是单纯的 svg 图片,上面覆盖了一层遮罩,并设置遮罩的背景色为蓝色到透明色的从左到右渐变。这样,看上去就是一个图片从右到左渐渐变得透明的效果。
这是我比较粗暴的方法,后来在网上看到一种更加优雅的方式:
大体上差不多,重点是 CSS 的 background-image 属性可以设置多张图片,用逗号隔开 。因为我不知道这个属性有这个能力才会额外加了个渐变透明图层来实现效果。
1、首先新建一个html文件,添加一个DIV,设置宽度和高度,以及背景色填充为红色。
2、然后在父级DIV中插入一个子DIV,定义它的宽高,以及背景色(background:#fff)。
3、然后添加一个透明度的代码(opacity:0.6),保存后预览下效果,背景已经实现透明了,但是文字也透明了。
4、熟悉PS的同学应该都知道,在图层的上方,有个不透明度,把PS中图层不透明度设置为60%,就和网页中的效果一样了,他们是一个数值。
5、把刚才的背景色和不透明度代码删除,换个代码【background-color:rgba(255,255,255,0.6)】。
6、保存后看下效果,已经变成了背景透明,文字不透明啦。
7、其中255,255,255就是PS中的拾色器里的数值啦。
8、0.6同第一种方式是一个含义。
1、准备好初始化的代码
<html>
<head>
<meta charset="utf-8"/>
<style>
</style>
</head>
<body>
<div></div>
</body>
</html>
2、初始化样式
div{
border:1px red solid
width:800px
height:800px
background-color:blue
}
3、运行结果为
4、设置背景颜色半透明的样式代码background-color:rgba(0,0,255,0.5)
5、运行结果为
透明原理:把背景颜色设置为rgb的方式,然后再加一个透明度就可以设置为半透明了。
注意:设置背景颜色时哪里应该写成rgba。