使用css让图片透明渐变 | 您所在的位置:网站首页 › 渐变背景怎么调透明 › 使用css让图片透明渐变 |
1. 前言
今天接到一个这样的需求,将一张图片作为一个背景,然后四周透明渐变,效果如下:
使用背景渐变,覆盖到图片上面,就可以实现一个伪透明渐变的效果了,上代码: Document html, body { margin: 0; padding: 0; } body { height: 100vh; width: 100vw; display: flex; background: aquamarine; } .mask { margin: auto; position: relative; } .mask::after { content: ''; position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: radial-gradient(transparent 50%, aquamarine 100%); } .mask img { width: 500px; position: relative; }效果同上面截图一样,这里就不放截图了,但是这里是有缺陷的,如果这个大背景图是其他颜色,那么你也需要跟着改,如果是背景图直接凉了。 换一种背景色
色彩多变的背景图
上面的方式被我pass后,第二波里面就想到了css的filter属性,可以使用alpha通道来实现透明渐变效果,上代码: Document html, body { margin: 0; padding: 0; } body { height: 100vh; width: 100vw; display: flex; background: radial-gradient(#00ff00, #0000cc, #999977, #EEEEEE, #ff5500, #dd4444, #00ff00, #0000cc, #999977, #EEEEEE, #ff5500, #dd4444); } img { margin: auto; position: relative; width: 500px; filter: Alpha(Opacity=30, FinishOpacity=0, Style=1, StartX=0, StartY=0, FinishX=100, FinishY=100) }
这一波咱使用mask属性,mask这个单词很熟悉了吧,写遮罩的时候总喜欢用这个单词,所以see mask,我就先上代码了: Document html, body { margin: 0; padding: 0; } body { height: 100vh; width: 100vw; display: flex; background: radial-gradient(#00ff00, #0000cc, #999977, #EEEEEE, #ff5500, #dd4444, #00ff00, #0000cc, #999977, #EEEEEE, #ff5500, #dd4444); } img { margin: auto; position: relative; width: 500px; -webkit-mask: radial-gradient(black 50%, transparent 100%); }
乐意去学习一下mask属性的可以去MDN上面看看哟 ---> developer.mozilla.org/zh-CN/docs/… |
CopyRight 2018-2019 实验室设备网 版权所有 |