CSS3 filter 属性
Example
修改所有图片的颜色为黑白 (100% 灰度):
img {
-webkit-filter: grayscale(100%); /* Chrome, Safari,Opera */
filter: grayscale(100%);
}

原图

grayscale(100%)
定义及用法
filter 属性定义了元素(通常是<img>)的可视效果。
默认值: | none |
---|---|
继承: | 否 |
可动画化: | yes. 请参阅 animatable |
版本: | CSS3 |
JavaScript 语法: | object.style.WebkitFilter="grayscale(100%)" 尝 试 |
浏览器支持
表格中的数字表示支持该属性的第一个浏览器的版本号。
紧跟在数字后面的 -webkit- 为指定浏览器的前缀。
属性 | |||||
---|---|---|---|---|---|
filter | 18.0 -webkit- | Not supported | 35.0 | 6.0 -webkit- | 15.0 -webkit- |
注意: 旧版 Internet Explorer 浏览器(4.0 to 8.0) 支持的非标准 "filter" 属性已被废弃。 IE8 及更低版本浏览器通常使用 opacity 属性。
CSS 语法
filter:none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate()| invert() | opacity() | saturate() | sepia() | url();
提示: 要使用多个过滤器,请使用 aspace 分隔每个过滤器(请参见下面的“更多实例”)。
Filter 函数
注意: 使用百分比值(即75%)的过滤器也接受数值(即0.75)。
Filter | 描述 | 演 示 |
---|---|---|
none | 默认值,没有效果。 | 演 示 » |
blur(px) | 对图像应用模糊效果。更大的值会产生更多的模糊。
如果没有指定值,则使用0。 |
演 示 » |
brightness(%) | 调整图像的亮度。
0%将使图像完全黑色。 100%(1)是默认值,代表原始图像。 超过100%的价值将提供更明亮的结果。 |
演 示 » |
contrast(%) | 调整图像的对比度。
值是0%的话,图像会全黑。 值是100%,图像不变。 值可以超过100%,意味着会运用更低的对比。若没有设置值,默认是1。 |
演 示 » |
drop-shadow(h-shadow v-shadow blur spread color) | 给图像设置一个阴影效果。
可能的值: h-shadow - 必需。指定水平阴影的像素值。负值将图像左边的阴影放置。 v-shadow - 必需。指定垂直阴影的像素值。负值将阴影放在图像上方。 blur - 可选。这是第三个值,必须以像素为单位。给阴影添加一个模糊效果。 更大的值将产生更多的模糊(阴影变得更加轻盈)。不允许使用负值。如果没有指定值,则使用0(阴影的边缘很尖)。 spread - 可选。这是第四个值,必须以像素为单位。积极值将导致阴影扩大并扩大,阴性值会导致阴影收缩。 如果没有指定,它将为0(阴影将与元素的大小相同)。 注意: Chrome,Safari 和 Opera 以及其他浏览器,不支持第4个长度; 如果添加,它将不会呈现。 color - 可选。给阴影添加一个颜色。如果未指定,颜色取决于浏览器(通常为黑色)。 创建一个红色阴影的例子,它是8px大,水平和横向,具有10px的模糊效果: filter: drop-shadow(8px 8px10px red); 提示: 此过滤器类似于 box-shadow 属性。 |
演 示 » |
grayscale(%) | 将图像转换为灰度。
0%(0)是默认值,代表原始图像。 100%将使图像完全灰色(用于黑白图像)。 注意: 不允许使用负值。 |
演 示 » |
hue-rotate(deg) | 在图像上应用色相旋转。该值定义图像样本将被调整的颜色圆周围的数量。默认为0度,表示原始图像。
注意: 最大值为360度。 |
演 示 » |
invert(%) | 反转图像中的样品。
0%(0)是默认值,代表原始图像。 100%将使图像完全倒转。 注意: 不允许使用负值。 |
演 示 » |
opacity(%) | 设置图像的不透明度级别。透明度级别描述了透明度级别,其中:
0%是完全透明的。 100%(1)是默认值,代表原始图像(无透明度)。 注意: 不允许使用负值。 提示: 此过滤器与 opacity 属性类似。 |
演 示 » |
saturate(%) | 使图像饱和。
0%(0)将使图像完全饱和。 默认为100%,表示原始图像。 超过100%的值提供了超饱和的结果。 注意: 不允许使用负值。 |
演 示 » |
sepia(%) | 将图像转换为棕褐色。
0%(0)是默认值,代表原始图像。 100%将使图像完全变成棕褐色。 注意: 不允许使用负值。 |
演 示 » |
url() | url() 函数接受一个XML文件,该文件设置了 一个SVG滤镜,且可以包含一个锚点来指定一个具体的滤镜元素。
filter: url(svg-url#element-id) |
|
initial | 将此属性设置为其默认值。请参阅 initial | |
inherit | 从其父元素继承此属性。请参阅 inherit |

更多实例
Blur Example
对图像应用模糊效果:
img {
-webkit-filter: blur(5px); /* Chrome, Safari,Opera */
filter: blur(5px);
}

原图

blur(5px)
Brightness Example
调整图像的亮度:
img {
-webkit-filter: brightness(200%); /* Chrome, Safari,Opera */
filter: brightness(200%);
}

原图

brightness(200%)
Contrast Example
调整图像的对比度:
img {
-webkit-filter: contrast(200%); /* Chrome, Safari,Opera */
filter: contrast(200%);
}

原图

contrast(200%)
Drop Shadow Example
对图像应用阴影效果:
img {
-webkit-filter: drop-shadow(8px 8px 10px red); /* Chrome, Safari,Opera */
filter: drop-shadow(8px 8px 10px red);
}

原图

drop-shadow(8px 8px 10px red)
Grayscale Example
将图像转换为灰度:
img {
-webkit-filter: grayscale(50%); /* Chrome, Safari,Opera */
filter: grayscale(50%);
}

原图

grayscale(50%)
Hue Rotation Example
在图像上应用色相旋转:
img {
-webkit-filter: hue-rotate(90deg); /* Chrome, Safari,Opera */
filter: hue-rotate(90deg);
}

原图

hue-rotate(90deg)
Invert Example
反转图像中的样品:
img {
-webkit-filter: invert(100%); /* Chrome, Safari,Opera */
filter: invert(100%);
}

原图

invert(100%)
Opacity Example
设置图像的不透明度级别:
img {
-webkit-filter: opacity(30%); /* Chrome, Safari,Opera */
filter: opacity(30%);
}

原图

opacity(30%)
Saturate Example
饱和图像:
img {
-webkit-filter: saturate(800%); /* Chrome, Safari,Opera */
filter: saturate(800%);
}

原图

saturate(800%)
棕褐色例子:
Convert the image to sepia:
img {
-webkit-filter: sepia(100%); /* Chrome, Safari,Opera */
filter: sepia(100%);
}

原图

sepia(100%)
Combining Filters / Multiple Filters
要使用多个过滤器,请将每个过滤器与空格分开。
注意: Order is important (i.e. using grayscale() aftersepia() will result in a completely gray image).
img {
-webkit-filter: contrast(200%) brightness(150%); /* Chrome, Safari,Opera */
filter: contrast(200%) brightness(150%);
}

原图

contrast(200%) brightness(150%)
All Filters
演示所有过滤功能:
.blur {
-webkit-filter: blur(4px);
filter: blur(4px);
}
.brightness {
-webkit-filter:brightness(0.30);
filter: brightness(0.30);
}
.contrast {
-webkit-filter:contrast(180%);
filter: contrast(180%);
}
.grayscale {
-webkit-filter:grayscale(100%);
filter: grayscale(100%);
}
.huerotate {
-webkit-filter:hue-rotate(180deg);
filter: hue-rotate(180deg);
}
.invert {
-webkit-filter:invert(100%);
filter: invert(100%);
}
.opacity {
-webkit-filter:opacity(50%);
filter: opacity(50%);
}
.saturate {
-webkit-filter:saturate(7);
filter: saturate(7);
}
.sepia {
-webkit-filter:sepia(100%);
filter: sepia(100%);
}
.shadow {
-webkit-filter:drop-shadow(8px 8px 10px green);
filter: drop-shadow(8px 8px 10px green);
}
尝试一下 »相关文章
HTML DOM 参考手册:filter 属性