CSS滤镜(filter)
1、概念
filters是CSS3里新增的一种神奇的功能,一般我们提及滤镜,就会想到使用PhotoShop制作的图片,但是使用CSS滤镜不需要任何作图软件,仅使用CSS就会生成多种的滤镜效果,例如模糊效果、透明效果、色彩反差调整等等;同时,CSS滤镜不仅可以对图片进行滤镜处理,还可以对网页元素甚至视频进行滤镜处理。
2、使用
CSS 中实现滤镜效果需要通过 filter 属性并配合一些函数来实现。
滤镜效果 | 函数 | 补充 |
---|---|---|
无 | none | 默认值,表示没有效果 |
模糊 | blur(px) | 为图像设置高斯模糊,默认值为 0,单位为像素,值较大越模糊 |
调整亮度 | brightness(number) | number越大图像越亮,number不能取负值,可以是整数也可以是百分比 |
调整灰度 | grayscale(%) | 将图像转换为灰度图像,默认值为 0%,表示原始图像;100% 表示将图像完全变成灰度图像(即黑白图像),不允许为负值 |
调整对比度 | contrast(%) | 默认值为 100%,代表原始图像;0% 将使图像完全变黑;当值超过 100% 时图像将获得更高的对比度 |
阴影 | drop-shadow(h-shadow v-shadow blur spread color) | 为图像添加阴影效果,参数说明如下: h-shadow:必填值,指定水平方向阴影的像素值,若值为负,则阴影会出现在图像的左侧; v-shadow:必填值,指定垂直方向阴影的像素值,若值为负,则阴影会出现在图像的上方; blur:可选值,为阴影添加模糊效果,默认值为 0,单位为像素,值越大创建的模糊就越多(阴影会变得更大更亮),不允许使用负值; spread:可选值,默认值为 0,单位为像素。若值为正,则阴影将会扩展并增大;若值为负,则阴影会缩小; color:可选值,为阴影添加颜色,如未指定,则由浏览器来绝对,通常为黑色。 注意:Chrome、Safari 和 Opera 等浏览器不支持第 4 个参数,如果添加,则不会有任何效果 |
反转图像 | invert(%) | 默认值为 0%,表示原始图像;100% 则表示完全反转,不允许使用负值 |
不透明度 | opacity(%) | 默认值为 100%,表示原始图像;0% 表示完全透明,不允许使用负值 |
调整饱和度 | saturate(%) | 默认值为 100%,表示原始图像;0% 表示图像完全不饱和,不允许使用负值 |
图像转为棕褐色 | sepia(%) | 默认值为 0%,表示原始图像;100% 表示图像完全变成棕褐色,不允许使用负值 |
图像色相旋转 | hue-rotate(deg) | 该值用来定义色环的度数,默认值为 0deg,代表原始图像,最大值为 360deg |
1.模糊效果:filter: blur(2px)
像素越大越模糊, 0p以下无效果
2.调整亮度效果:filter: brightness(0.5)
像素越大越量, 0px以下无效果
3.调整灰度效果:filter: grayscale(100%)
只有0-100%有效果grayscale(0%)为原图效果
4.阴影效果:filter: drop-shadow(5px 5px 5px red) 语法:drop-shadow(offset-x offset-y blur-radius spread-radius color)
5.调整对比度效果:filter: contrast(50%)
低于 100%
的值会降低对比度,高于 100%
的值会增加对比度。值为 0%
将创建完全灰色的图像,值为 100%
时不会有任何变化。该值为空时默认为 1
.
6.反转图像效果:filter: invert(100%);
反转输入图像。值为 100%
则图像完全反转,值为 0%
则图像无变化。值在 0%
和 100%
之间,则是该效果的线性乘数。
7.图像不透明度效果:filter: opacity(50%);
应用透明度。值为 0%
则使图像完全透明,值为 100%
则图像无变化。
8.图像转为棕褐色效果:filter: sepia(80%);
将图像转换为深褐色。值为 100%
则完全是深褐色的,值为 0%
图像无变化。
9.调整饱和度效果 filter: saturate(50%);
改变图像饱和度。值为 0%
则是完全不饱和,值为 100%
则图像无变化。超过 100%
则增加饱和度。
10.图像色相旋转效果:filter: hue-rotate(30deg);
应用色相旋转。<angle>
值设定图像会被调整的色环角度值。值为 0deg
,则图像无变化。
ilter: hue-rotate(30deg);
应用色相旋转。<angle>
值设定图像会被调整的色环角度值。值为 0deg
,则图像无变化。