目录

CSS filter 属性


示例

将所有图片更改为黑白(100% 灰色):

img {
  filter: grayscale(100%);
}
亲自试一试 »

提示:下面有更多 "亲自试一试" 示例。


定义和用法

这个filter属性定义元素(通常是 <img>)的视觉效果(例如模糊和饱和度)。

展示演示❯

默认值: 没有任何
遗传:
可动画: 是的。阅读可动画的尝试一下
版本: CSS3
JavaScript 语法: 对象.style.filter="grayscale(100%)"尝试一下

浏览器支持

表中的数字指定完全支持该属性的第一个浏览器版本。

-webkit- 后面的数字指定使用前缀的第一个版本。

Property
filter 53.0
18.0 -webkit-
13.0 35.0 9.1
6.0 -webkit-
40.0
15.0 -webkit-


CSS 语法

filter: none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia() | url();

提示:要使用多个过滤器,请用空格分隔每个过滤器(请参阅下面的"More Examples")。


过滤功能

笔记:使用百分比值(即 75%)的过滤器也接受小数值(即 0.75)。

Filter Description Demo
none Default value. Specifies no effects Demo ❯
blur(px) Applies a blur effect to the image. A larger value will create more blur.

If no value is specified, 0 is used.
Demo ❯
brightness(%) Adjusts the brightness of the image.

0% will make the image completely black.
100% (1) is default and represents the original image.
Values over 100% will provide brighter results.
Demo ❯
contrast(%) Adjusts the contrast of the image.

0% will make the image completely black.
100% (1) is default, and represents the original image.
Values over 100% will provide results with more contrast.
Demo ❯
drop-shadow(h-shadow v-shadow blur spread color) Applies a drop shadow effect to the image.

Possible values:
h-shadow - Required. Specifies a pixel value for the horizontal shadow. Negative values place the shadow to the left of the image.

v-shadow - Required. Specifies a pixel value for the vertical shadow. Negative values place the shadow above the image.

blur - Optional. This is the third value, and must be in pixels. Adds a blur effect to the shadow. A larger value will create more blur (the shadow becomes bigger and lighter). Negative values are not allowed. If no value is specified, 0 is used (the shadow's edge is sharp).

spread - Optional. This is the fourth value, and must be in pixels. Positive values will cause the shadow to expand and grow bigger, and negative values will cause the shadow to shrink. If not specified, it will be 0 (the shadow will be the same size as the element).
Note: Chrome, Safari and Opera, and maybe other browsers, do not support this 4th length; it will not render if added.

color - Optional. Adds a color to the shadow. If not specified, the color depends on the browser (often black).

An example of creating a red shadow, which is 8px big both horizontally and vertically, with a blur effect of 10px:

filter: drop-shadow(8px 8px 10px red);

Tip: This filter is similar to the box-shadow property.
Demo ❯
grayscale(%) Converts the image to grayscale.

0% (0) is default and represents the original image.
100% will make the image completely gray (used for black and white images).

Note: Negative values are not allowed.
Demo ❯
hue-rotate(deg) Applies a hue rotation on the image. The value defines the number of degrees around the color circle the image samples will be adjusted. 0deg is default, and represents the original image.

Note: Maximum value is 360deg.
Demo ❯
invert(%) Inverts the samples in the image.

0% (0) is default and represents the original image.
100% will make the image completely inverted.

Note: Negative values are not allowed.
Demo ❯
opacity(%) Sets the opacity level for the image. The opacity-level describes the transparency-level, where:

0% is completely transparent.
100% (1) is default and represents the original image (no transparency).

Note: Negative values are not allowed.
Tip: This filter is similar to the opacity property.
Demo ❯
saturate(%) Saturates the image.

0% (0) will make the image completely un-saturated.
100% is default and represents the original image.
Values over 100% provides super-saturated results.

Note: Negative values are not allowed.
Demo ❯
sepia(%) Converts the image to sepia.

0% (0) is default and represents the original image.
100% will make the image completely sepia.

Note: Negative values are not allowed.
Demo ❯
url() The url() function takes the location of an XML file that specifies an SVG filter, and may include an anchor to a specific filter element. Example:

filter: url(svg-url#element-id)
initial Sets this property to its default value. Read about initial
inherit Inherits this property from its parent element. Read about inherit

更多示例

模糊示例

对图片应用模糊效果:

img {
  filter: blur(5px);
}
亲自试一试 »

模糊示例2

应用模糊背景图片:

img.background {
  filter: blur(35px);
}
亲自试一试 »

亮度示例

调整图片的亮度:

img {
  filter: brightness(200%);
}
亲自试一试 »

对比示例

调整图片的对比度:

img {
  filter: contrast(200%);
}
亲自试一试 »

投影示例

对图片应用投影效果:

img {
  filter: drop-shadow(8px 8px 10px gray);
}
亲自试一试 »

灰度示例

将图片转换为灰度:

img {
  filter: grayscale(50%);
}
亲自试一试 »

色调旋转示例

在图片上应用色调旋转:

img {
  filter: hue-rotate(90deg);
}
亲自试一试 »

反转示例

反转图片中的样本:

img {
  filter: invert(100%);
}
亲自试一试 »

不透明度示例

设置图片的不透明度级别:

img {
  filter: opacity(30%);
}
亲自试一试 »

饱和示例

使图片饱和:

img {
  filter: saturate(800%);
}
亲自试一试 »

棕褐色示例

将图片转换为棕褐色:

img {
  filter: sepia(100%);
}
亲自试一试 »

使用多个过滤器

要使用多个过滤器,请用空格分隔每个过滤器。请注意,顺序很重要(即在 sepia() 之后使用 Grayscale() 将产生完全灰色的图片):

img {
  filter: contrast(200%) brightness(150%);
}
亲自试一试 »

所有过滤器

所有过滤功能的演示:

.blur {
  filter: blur(4px);
}

.brightness {
  filter: brightness(0.30);
}

.contrast {
  filter: contrast(180%);
}

.grayscale {
  filter: grayscale(100%);
}

.huerotate {
  filter: hue-rotate(180deg);
}

.invert {
  filter: invert(100%);
}

.opacity {
  filter: opacity(50%);
}

.saturate {
  filter: saturate(7);
}

.sepia {
  filter: sepia(100%);
}

.shadow {
  filter: drop-shadow(8px 8px 10px green);
}
亲自试一试 »

相关页面

CSS 教程:CSS 图片

HTML DOM 参考:过滤属性