非常教程

JavaScript 参考手册教程

Style filter 属性

Style filter 属性

Style filter 属性

Style filter 属性

Style 对象

实例

修改图片颜色为黑白 (100% 灰度):

// Chrome, Safari 和 Opera 浏览器
document.getElementById("myImg").style.WebkitFilter = "grayscale(100%)";

// 标准语法 (其他主流浏览器不支持)
document.getElementById("myImg").style.filter = "grayscale(100%)";

尝试一下 »

定义和用法

filter 用于定于元素(通常是 <img>)的可视效果。

注意:如果元素不是灵活的项目,则 flexGrow 属性不起作用。


浏览器支持

表格中的数字表示支持该方法的第一个浏览器的版本号。

属性
filter 18.0 Webkit 不支持 不支持 6.0 Webkit 15.0 Webkit

注意: Chrome, Safari 和 Opera 使用 WebkitFilter 属性代替。


语法

返回 filter 属性:

object.style.filter

设置 filter 属性:

object.style.filter="none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia()"

Filter 函数

注意: 滤镜通常使用百分比 (如:75%), 当然也可以使用小数来表示 (如:0.75)。

Filter 描述
none 默认值,没有效果。
blur(px) 给图像设置高斯模糊。"radius"一值设定高斯函数的标准差,或者是屏幕上以多少像素融在一起, 所以值越大越模糊;

如果没有设定值,则默认是0;这个参数可设置css长度值,但不接受百分比值。
brightness(%) 给图片应用一种线性乘法,使其看起来更亮或更暗。如果值是0%,图像会全黑。值是100%,则图像无变化。其他的值对应线性乘数效果。值超过100%也是可以的,图像会比原来更亮。如果没有设定值,默认是1。
contrast(%) 调整图像的对比度。值是0%的话,图像会全黑。值是100%,图像不变。值可以超过100%,意味着会运用更低的对比。若没有设置值,默认是1。
drop-shadow(h-shadow v-shadow blur spread color)

给图像设置一个阴影效果。阴影是合成在图像下面,可以有模糊度的,可以以特定颜色画出的遮罩图的偏移版本。 函数接受<shadow>(在CSS3背景中定义)类型的值,除了"inset"关键字是不允许的。该函数与已有的box-shadow box-shadow属性很相似;不同之处在于,通过滤镜,一些浏览器为了更好的性能会提供硬件加速。<shadow>参数如下:

<offset-x> <offset-y> (必须)
这是设置阴影偏移量的两个 <length>值. <offset-x> 设定水平方向距离. 负值会使阴影出现在元素左边. <offset-y>设定垂直距离.负值会使阴影出现在元素上方。查看<length>可能的单位.
如果两个值都是0, 则阴影出现在元素正后面 (如果设置了 <blur-radius> and/or <spread-radius>,会有模糊效果).
<blur-radius> (可选)
这是第三个code><length>值. 值越大,越模糊,则阴影会变得更大更淡.不允许负值 若未设定,默认是0 (则阴影的边界很锐利).
<spread-radius> (可选)
这是第四个 <length>值. 正值会使阴影扩张和变大,负值会是阴影缩小.若未设定,默认是0 (阴影会与元素一样大小). 
注意: Webkit, 以及一些其他浏览器 不支持第四个长度,如果加了也不会渲染。
 
<color> (可选)
查看 <color>该值可能的关键字和标记。若未设定,颜色值基于浏览器。在Gecko (Firefox), Presto (Opera)和Trident (Internet Explorer)中, 会应用colorcolor属性的值。另外, 如果颜色值省略,WebKit中阴影是透明的。
grayscale(%)

将图像转换为灰度图像。值定义转换的比例。值为100%则完全转为灰度图像,值为0%图像无变化。值在0%到100%之间,则是效果的线性乘子。若未设置,值默认是0;

hue-rotate(deg)

给图像应用色相旋转。"angle"一值设定图像会被调整的色环角度值。值为0deg,则图像无变化。若值未设置,默认值是0deg。该值虽然没有最大值,超过360deg的值相当于又绕一圈。

invert(%)

反转输入图像。值定义转换的比例。100%的价值是完全反转。值为0%则图像无变化。值在0%和100%之间,则是效果的线性乘子。 若值未设置,值默认是0。

opacity(%)

转化图像的透明程度。值定义转换的比例。值为0%则是完全透明,值为100%则图像无变化。值在0%和100%之间,则是效果的线性乘子,也相当于图像样本乘以数量。 若值未设置,值默认是1。该函数与已有的opacity属性很相似,不同之处在于通过filter,一些浏览器为了提升性能会提供硬件加速。

saturate(%)

转换图像饱和度。值定义转换的比例。值为0%则是完全不饱和,值为100%则图像无变化。其他值,则是效果的线性乘子。超过100%的值是允许的,则有更高的饱和度。 若值未设置,值默认是1。

sepia(%)

将图像转换为深褐色。值定义转换的比例。值为100%则完全是深褐色的,值为0%图像无变化。值在0%到100%之间,则是效果的线性乘子。若未设置,值默认是0;

url()

URL函数接受一个XML文件,该文件设置了 一个SVG滤镜,且可以包含一个锚点来指定一个具体的滤镜元素。

例如:

filter: url(svg-url#element-id)
initial

设置属性为默认值,可参阅: CSS initial 关键字

inherit 从父元素继承该属性,可参阅:CSS inherit 关键字

技术细节

CSS 版本 CSS3


相关文章

CSS 参考手册: filter 属性


Style filter 属性

Style 对象

Style filter 属性
JavaScript 参考手册

JavaScript 参考手册提供了完整的 JavaScript 对象、浏览器对象、HTML DOM 对象手册。手册包含了每个对象、属性、方法的实例。

JavaScript 参考手册目录

1.Navigator 对象
2.HTML DOM Document 对象
3.JavaScript Array 属性构造器
4.JavaScript length 属性
5.JavaScript constructor 属性
6.JavaScript unshift() 方法
7.JavaScript valueOf() 方法
8.JavaScript sort() 方法
9.JavaScript splice() 方法
10.JavaScript toString() 方法
11.JavaScript Array indexOf() 方法
12.JavaScript join() 方法
13.JavaScript Array lastIndexOf() 方法
14.JavaScript pop() 方法
15.JavaScript push() 方法
16.JavaScript reverse() 方法
17.JavaScript shift() 方法
18.JavaScript slice() 方法
19.JavaScript Array 对象
20.JavaScript concat() 方法
21.JavaScript Boolean prototype 构造器
22.JavaScript Boolean constructor 属性
23.JavaScript getMilliseconds() 方法
24.JavaScript getHours() 方法
25.JavaScript getFullYear() 方法
26.JavaScript getDay() 方法
27.JavaScript getDate() 方法
28.JavaScript Date prototype 属性
29.JavaScript constructor 属性
30.JavaScript Boolean 对象
31.JavaScript valueOf() 方法
32.JavaScript toString() 方法
33.JavaScript UTC() 方法
34.JavaScript getUTCFullYear() 方法
35.JavaScript toLocaleString() 方法
36.JavaScript toString() 方法
37.JavaScript toTimeString() 方法
38.JavaScript toUTCString() 方法
39.JavaScript valueOf() 方法
40.JavaScript toISOString() 方法
41.JavaScript toJSON() 方法
42.JavaScript toLocaleDateString() 方法
43.JavaScript toLocaleTimeString() 方法
44.JavaScript setUTCHours() 方法
45.JavaScript setUTCMilliseconds() 方法
46.JavaScript setUTCMinutes() 方法
47.JavaScript setUTCMonth() 方法
48.JavaScript setUTCSeconds() 方法
49.JavaScript toDateString() 方法
50.JavaScript getSeconds() 方法
51.JavaScript getMonth() 方法
52.JavaScript getMinutes() 方法
53.JavaScript setMinutes() 方法
54.JavaScript setMonth() 方法
55.JavaScript setSeconds() 方法
56.JavaScript Date 对象
57.JavaScript setTime() 方法
58.JavaScript setUTCDate() 方法
59.JavaScript setUTCFullYear() 方法
60.JavaScript getUTCSeconds() 方法
61.JavaScript parse() 方法
62.JavaScript setDate() 方法
63.JavaScript setFullYear() 方法
64.JavaScript setHours() 方法
65.JavaScript setMilliseconds() 方法
66.JavaScript getUTCDay() 方法
67.JavaScript getUTCDate() 方法
68.JavaScript getTimezoneOffset() 方法
69.JavaScript getTime() 方法
70.JavaScript E 属性
71.JavaScript getUTCHours() 方法
72.JavaScript getUTCMilliseconds() 方法
73.JavaScript getUTCMinutes() 方法
74.JavaScript getUTCMonth() 方法
75.JavaScript random() 方法
76.JavaScript round() 方法
77.JavaScript sin() 方法
78.JavaScript sqrt() 方法
79.JavaScript tan() 方法
80.JavaScript atan2() 方法
81.JavaScript ceil() 方法
82.JavaScript cos() 方法
83.JavaScript exp() 方法
84.JavaScript floor() 方法
85.JavaScript log() 方法
86.JavaScript max() 方法
87.JavaScript min() 方法
88.JavaScript pow() 方法
89.JavaScript SQRT1_2 属性
90.JavaScript SQRT2 属性
91.JavaScript abs() 方法
92.JavaScript acos() 方法
93.JavaScript asin() 方法
94.JavaScript atan() 方法
95.JavaScript Math 对象
96.JavaScript LN2 属性
97.JavaScript LN10 属性
98.JavaScript LOG2E 属性
99.JavaScript LOG10E 属性
100.JavaScript PI 属性