CSS 滤镜(filter)完整指南
「这是我参与2022首次更文挑战的第2天,活动详情查看:2022首次更文挑战」。
filter(滤镜)属性是CSS3中非常有意思且强大的属性,最近开发的时候用到,感觉确实是非常方便,所以以下对这个属性做了一份详细的记录。
提示:滤镜通常是使用百分比 (如:66%), 但是使用小数也是可以的 (如:0.66)。
灰度(grayscale)
📖 定义:将图像转换为灰度图像。
值定义转换的比例。值为100%则完全转为灰度图像,值为0%图像无变化。
💡 应用:假如有一张优惠券,当是过期状态时,UI设计通常会把过期状态设计成灰色。写代码的时候,或许你会通过修改图片的URL来动态改变样式,但是现在,只需要加上这样一句CSS就可以完美搞定了。
filter: grayscale(100%);
阴影(drop-shadow)
📖 定义:给图像设置一个阴影效果。
阴影是合成在图像下面,可以有模糊度的,可以以特定颜色画出的遮罩图的偏移版本。
参数:drop-shadow(offset-x offset-y blur color)
offset-x(必须):阴影的左右位置
offset-y (必须):阴影的上下位置
blur:阴影的模糊值
color:阴影的颜色
💡 应用:当图片和背景颜色相近时,你就可以加一个阴影效果来提升视觉效果,假如有一件白衬衫的商品图,加了阴影之后整个就立体了。
filter: drop-shadow(0px 0px 10px #999999);
该函数与已有的box-shadow box-shadow属性很相似;不同之处在于,通过滤镜,一些浏览器为了更好的性能会提供硬件加速。
亮度(brightness)
📖 定义:把图片变的更亮或更暗。
- 如果值是0%,图像会全黑。
- 值是100%,则图像无变化。
- 值超过100%,图像会比原来更亮。
💡 应用:可以看到我们原来的图片会偏暗一些,加了滤镜之后,整体色彩就更鲜明了。
filter: brightness(100%);
透明度(opacity)
📖 定义:转化图像的透明程度。值定义转换的比例。值为0%则是完全透明,值为100%则图像无变化。
🎨效果:filter: opacity(30%);
该函数与已有的opacity属性很相似,不同之处在于通过filter,一些浏览器为了提升性能会提供硬件加速。
褐色(sepia)
📖 定义:将图像转换为深褐色。
值为100%则完全是深褐色的,值为0%图像无变化。若未设置,值默认是0;
🎨效果:filter: sepia(70%);
饱和度(saturate)
📖 定义:转换图像饱和度。
值为0%则是完全不饱和,值为100%则图像无变化。大于100%,则饱和度增高,色彩就会变重。
🎨效果:filter: saturate(200%);
对比度(contrast)
📖 定义:调整图像的对比度。
值是0%的话,图像会全黑。值是100%,图像不变。值超过100%,意味着会运用更低的对比。
🎨效果:filter: contrast(200%);
模糊(blur)
📖 定义:给图像设置高斯模糊。
"radius"一值设定高斯函数的标准差,或者是屏幕上以多少像素融在一起, 所以值越大越模糊;
🎨效果:filter: blur(2px);
色相旋转(hue-rotate)
📖 定义:给图像应用色相旋转。
"angle"一值设定图像会被调整的色环角度值。值为0deg,则图像无变化。该值虽然没有最大值,超过360deg的值相当于又绕一圈。
🎨效果:filter: hue-rotate(90deg);
色相环
反色(invert)
📖 定义:反转输入图像。
100%的是完全反转。值为0%则图像无变化
🎨效果:filter: invert(60%);
复合函数
📖 定义:可以同时使用多个滤镜,使用空格分开即可
🎨效果:filter: brightness(110%) drop-shadow(0px 0px 10px #999999);
🎨【点赞】【关注】不迷路,更多前端干货等你解锁
往期推荐
转载自:https://juejin.cn/post/7056428201047752740