CSS中filter滤镜的学习笔记

时间:2021-09-12 22:52:56

1.CSS静态滤镜样式 (filter)(只有IE4.0以上支持) 
  CSS静态滤镜样式的使用方法:{ filter : filtername( parameters1, parameters2, ...) }

Filter样式 简要说明 支持参数 
alpha 设置图片或文字的不透明度 opacity、finishOpacity、style、startX、startY、finishX、finishY、add、direction、strength 
blur 在指定的方向和位置上产生动感模糊效果 add、direction、strength 
chroma 对所选择的颜色进行透明处理 color 
dropShadow 在指定的方向和位置上产生阴影 color、offX、offY、positive 
flipH 沿水平方向翻转对象   
flipV 沿垂直方向翻转对象   
glow 在对象周围上发光 color、strength 
gray 将对象以灰度处理   
invert 逆转对象颜色   
light 对对象进行模拟光照   
mask 对对象生成掩膜 color 
shadow 沿对象边缘产生阴影 color、direction 
wave 在垂直方向产生正弦波形 add、freq、lightStrength、phase、strength 
xray 改变对象颜色深度,并绘制黑白图象  

以上就是静态滤镜的全部内容,要注意的是CSS是区分大小写的! 
2.CSS动态滤镜 
  动态滤镜可以为页面添加动人的淡入淡出、图象转化效果,它可以分为两种blend(混合)和reveal(显示),前者可以使对象渐渐消失或出现,后者提供了24种图象转化的效果。对于动态滤镜的调用除去象在静态滤镜中要定义的滤镜类型,参数等等,还用到脚本语言控制它的状态。 
  首先,在开始一个动态效果之前,先需要进行装备(Apply),然后播放(Play)动态效果,在动态效果进行中还可以中断动态效果(Stop),以上可以用下面的方法实现: 
    对象名.filters(滤镜数值).Apply() 
    对象名.filters(滤镜数值).Play() 
    对象名.filters(滤镜数值).Stop() 
  对于滤镜状态的判断可以通过“对象名.filters(滤镜数值).status”判断,该值为0时,表示滤镜未执行,为1时,表示滤镜已经完成,为2时表示滤镜在执行中。 
  在定义filter时,如上面所提到的,可以有混合(“filter:blendTrans(duration=时间数值)”,duration表示滤镜执行需要的时间,单位为秒)和显示(“filter:revealTrans(duration=时间数值,transition=过渡类型)”,过渡类型为从0-23的数值)两种。 
  
  滤镜目前还未被W3C正式承认。滤镜只是微软IE浏览器的组成部分,不能用于Netscape浏览器。制定有关标准的组织正在就此进行讨论,但尚未达成最后定论。在我看来,滤镜是一种非常有趣而且是制作精彩的视觉效果必不可少的一部分。滤镜能节省带宽,而且是你能在制作奇妙的 
视觉设计时使用文字格式,而不必先制作庞大的文字位图以取得相同的效果。 
  但由于这些功能尚未成为HTML的正式组成部分,所以并不是所有的浏览器都能看到这些特色。有些时候,你必须考虑以传统的方式制作相同的效果,当然,你不得不继续将庞大的GIF文件塞到网页之中。 
沉默...沉默...

  
CSS滤镜filter详解 
语法:STYLE="filter:filtername(fparameter1, fparameter2...)" 
(Filtername为滤镜的名称,fparameter1、fparameter2等是滤镜的参数)

滤镜说明: 
alpha:设置透明层次 
blur:创建高速度移动效果,即模糊效果 
chroma:制作专用颜色透明 
DropShadow:创建对象的固定影子 
FlipH:创建水平镜像图片 
FlipV:创建垂直镜像图片 
glow:加光辉在附近对象的边外 
gray:把图片灰度化 
invert:反色 
light:创建光源在对象上 
mask:创建透明掩膜在对象上 
shadow:创建偏移固定影子 
wave:波纹效果 
Xray:使对象变得像被x光照射一样

1、滤镜:Alpha 
语法:STYLE="filter:Alpha(Opacity=opacity, FinishOpacity=finishopacity,Style=style, StartX=startX,StartY=startY,FinishX=finishX,FinishY=finishY)" 
说明: 
Opacity:起始值,取值为0~100, 0为透明,100为原图。 
FinishOpacity:目标值。 
Style:1或2或3 
StartX:任意值 
StartY:任意值 
例子:filter:Alpha(Opacity="0",FinishOpacity="75",Style="2") 
2、滤镜:blur 
语法:STYLE="filter:Blur(Add = add, Direction = direction, Strength = strength)" 
说明: 
Add:一般为1,或0。 
Direction:角度,0~315度,步长为45度。 
Strength:效果增长的数值,一般5即可。 
例子:filter:Blur(Add="1",Direction="45",Strength="5") 
3、滤镜:Chroma 
语法:STYLE="filter:Chroma(Color = color)" 
说明:color:#rrggbb格式,任意。 
例子:filter:Chroma(Color="#FFFFFF") 
4、滤镜:DropShadow 
语法:STYLE="filter:DropShadow(Color=color, OffX=offX, OffY=offY, Positive=positive)" 
说明:Color:#rrggbb格式,任意。 
Offx:X轴偏离值。 
Offy:Y轴偏离值。 
Positive:1或0。 
例子:filter:DropShadow(Color="#6699CC",OffX="5",OffY="5",Positive="1") 
5、滤镜:FlipH 
语法:STYLE="filter:FlipH" 
例子:filter:FlipH 
6、滤镜:FlipV 
语法:STYLE="filter:FlipV" 
例子:filter:FlipV 
7、滤镜:glow 
语法:STYLE="filter:Glow(Color=color, Strength=strength)" 
说明: 
Color:发光颜色。 
Strength:强度(0-100) 
例子:filter:Glow(Color="#6699CC",Strength="5") 
8、滤镜:gray 
语法:STYLE="filter:Gray" 
例子:filter:Gray 
9、滤镜:invert 
语法:STYLE="filter:Invert" 
例子:filter:Invert 
10、滤镜:mask 
语法:STYLE="filter:Mask(Color=color)" 
例子:filter:Mask (Color="#FFFFE0") 
11、滤镜:shadow 
语法:filter:Shadow(Color=color, Direction=direction) 
说明: 
Color:#rrggbb格式。 
Direction:角度,0-315度,步长为45度。 
例子:filter:Shadow (Color="#6699CC", Direction="135") 
12、滤镜:wave 
语法:filter: Wave(Add=add,Freq=freq,LightStrength=strength,Phase=phase, Strength=strength) 
说明: 
Add:一般为1,或0。 
Freq:变形值。 
LightStrength:变形百分比。 
Phase:角度变形百分比。 
Strength:变形强度。 
例子:filter: wave(Add="0", Phase="4", Freq="5", LightStrength="5", Strength="2") 
13、滤镜:Xray 
语法:STYLE="filter:Xray" 
例子:filter:Xray