CSS 滤镜都能实现哪些?

html-css05

CSS 滤镜都能实现哪些?,第1张

CSS滤镜

自W3C公布了样式单(CSS)的标准以来,HTML的每一部分开始以元素的形式出现,并且事件开始真正被引入页面,动态HTML成为了人们讨论的热点。实际上,W3C采用的标准即为微软的DOM,也就是说IE4.0可以更好的支持CSS,并且微软对CSS还进行了许多十分有益地探索,Filter就是一个很好的例子。

众所周知,Javascript或Vbscript作为脚本语言,其功能是不完善的,有许多高级语言的功能无法实现,如图象的处理功能。Filter是微软对CSS的扩展,与PhotoShop中的滤镜概念相似,它可以用很简单的方法对页面中的文字特效作出特效处理,静态如阴影、模糊的效果,动态如各种淡入淡出效果。

如果你使用过图形软件的话,视觉滤镜这个概念你一定不会感到陌生。你可以选择一个图形,让计算机对其进行模糊过滤,或者将有些文字或图象反转处理。要想实现这些技巧,你得将需要变化的内容以位图形式输入你的图象处理软件,应用相应的过滤器,然后及其以GIF或JPEG格式发布。

但是生成文字的图象格式会破坏原有文字的存储格式并且会延长下载的时间。生命的一分一秒被消耗在下载的漫长等待之中实在是一种残忍的折磨和享受。但是你需要为你的标题添加一点漂亮的蓝色下落阴影,并且在其四周环绕以红色的光晕。好吧,我们就给它加上一个漂亮的修饰。

有时候当图象下载到客户端时你需要对图象做一些变化,比如加一个移动模糊让其“神经质”地滑过屏幕。不要怕,CSS图象过滤器将帮助你实现你的愿望(但是现在只能在微软IE 4.0上实现这些功能)。

● 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文件塞到网页之中。

滤镜效果 | 功能描述

-----------------------------------------------

Alpha | 设置不同的透明度变化效果

-----------------------------------------------

Blur | 建立模糊效果

-----------------------------------------------

DropShadow| 建立一种偏移的影象轮廓,即投射阴影

-----------------------------------------------

FlipH | 水平翻转

-----------------------------------------------

FlipV | 垂直翻转

-----------------------------------------------

Glow | 为对象的边界增加色彩光效

-----------------------------------------------

Gray | 将图片以灰度形式显示

-----------------------------------------------

Invert | 将色彩、饱和度以及亮度值完全反转,类似底片效果

-----------------------------------------------

Light | 在一个对象上进行灯光投影

-----------------------------------------------

Mask | 为一个对象建立彩色透明遮罩

-----------------------------------------------

Shadow | 为对象建立轮廓的影效果

-----------------------------------------------

Wave | 在X轴和Y轴方向利用正弦波打乱图片

-----------------------------------------------

Xray | 只显示对象的轮廓

-----------------------------------------------

----------------括号里面的是参数。-------------

细致的解释看下面:

1、Alpha 滤镜

"Alpha"属性是把一个目标元素与背景混合。设计者可以指定数值来控制混合的程度。这种“与背景混合”通俗地说就是一个元素的透明度。通过指定坐标,可以指定各种不同范围的透明度。

Alpha 滤镜语法

{FILTER:ALPHA(opacity=opacity,finishopacity=finishopacity,

style=style,startx=startx,

starty=starty,finishx=finishx,finishy=finishy)}

参数含义分别如下:

参数 说明

opacity 透明度。默认的范围是从0 到 100,他们其实是百分比的形式。也就是说,0代表完全透明,100代表完全不透明。

finishopacity 是一个可选参数,如果想要设置渐变的透明效果,就可以使用他们来指定结束时的透明度。范围也是0 到 100。

style 指定透明区域的形状特征:

0 代表统一形状

1 代表线形

2 代表放射状

3 代表矩形

startx 渐变透明效果开始处的 X坐标。

starty 渐变透明效果开始处的 Y坐标。

finishx 渐变透明效果结束处的 X坐标。

finishy 渐变透明效果结束处的 Y坐标。

2、Blur 滤镜

用手指在一幅尚未干透的画面迅速划过时,画面就会变得模糊。”Blur"就是产生同样的模糊效果。

Blur滤镜语法 HTML:{filter:blur(add=add,direction=direction,

strength=strength)}

Script语言: [oblurfilter=] object.filters.blur

参数含义分别如下:

参数 说明

add 它指定图片是否被改变成印象派的模糊效果。模糊效果是按顺时针的方向进行的,

这是一个布尔值:ture (默认)或false

direction 该参数用来设置模糊的方向。

0度代表垂直向上,每45度为一个单位,默认值是向左的270度

strength 只能使用整数来指定,代表有多少像素的宽度将受到模糊影响,默认是5个像素。

3、DropShadow 滤镜

“DropShaow",顾名思义就是添加对象的阴影效果。其工作原理是建立一个偏移量,加上色彩。

DropShadow 滤镜语法 {filter:dropshadow

(color=color,offx=ofx,offy=offy,positive=positive)}

参数含义如下:

参数 说明

Color 代表投射阴影的颜色

offx X方向阴影的偏移量

offy Y方向阴影的偏移量

Positive 布尔值

如果为TRUE(非0),就为任何的非透明像素建立可见的投影

如果为FASLE(0),就为透明的像素部分建立透明效果

4、FlipH, FlipV 滤镜

FlipH 滤镜实现水平反转

FlipH 滤镜语法 {filter:filph}

FlipV 滤镜实现垂直反转

FlipV 滤镜语法 {filter:filpv}

5、Glow 滤镜

对一个对象使用"glow"属性后,这个对象的边缘就会产生类似发光的效果。

Glow 滤镜语法 {filter:glow(color=color,strength)}

参数含义如下:

参数 说明

Color 指定发光的颜色

STRENGTH 强度,值为1到255之间的任何整数,指定发光色力度和范围。

6、Gray 滤镜

使用Gray滤镜可以把一张图片变成灰度图,语法很简单:

Gray 滤镜语法 {filter:gray}

7、Invert滤镜

使用Invert滤镜可以把对象的可视化属性全部翻转,包括色彩、饱和度、和亮度值

Invert 滤镜语法 {filter:invert}

8、Xray滤镜

使用Xray滤镜可以让对象反映出它的轮廓并把这些轮廓加亮,类似于所谓的“X”光片。

Xray 滤镜语法 {filter:xray}

9、Mask 滤镜

Mask 滤镜语法 {filter:mask(color=color)}

使用"MASK"属性可以为对象建立一个覆盖于表面的膜,其效果就象戴着有色眼镜看物体一样 。

10、Light 滤镜

Light 滤镜语法 {filter:light}

这个属性模拟光源的投射效果。一旦为对象定义了“LIGHT"滤镜属性,那么就可以调用它的“方法(Method)"来设置或者改变属性。“LIGHT"可用的方法有:

参数 说明

AddAmbient 加入包围的光源

AddCone 加入锥形光源

AddPoint 加入点光源

Changcolor 改变光的颜色

Changstrength 改变光源的强度

Clear 清除所有的光源

MoveLight 移动光源

我们可以定义光源的虚拟位置,以及通过调整X轴和Y轴的数值来控制光源焦点的位置,还可以调整光源的形式(点光源或者锥形光源)指定光源是否模糊边界、光源的颜色、亮度等属性。如果动态的设置光源,可能会产生一些意想不到的效果。

11、Shadow 滤镜

Shadow 滤镜

语法 {filter:shadow(color=color,direction=direction)}

利用“Shadow”属性可以在指定的方向建立物体的投影,COLOR是投影色,DIRECTION是设置投影的方向。其中0度代表垂直向上,然后每45度为一个单位。它的默认值是向左的270度。

12、Wave 滤镜

Wave 滤镜

语法 {filter:wave(add=add,freq=freq,

lightstrength=strength,

phase=phase,strength=strength)}

参数 说明

wave 把对象按垂直的波形样式打乱。

默认是 TRUE(非0)

ADD 是否要把对象按照波形样式打乱

FREQ 波纹的频率,也就是指定在对象上一共需要产生多少个完整的波纹

LIGHTSTRENGTH 可以对于波纹增强光影的效果,范围0----100

PHASE 设置正弦波的偏移量

STRENGTH 振幅大小

--------------------------------------------------------------

内容很多,慢慢看。还有这个问题发到电脑那块的话肯定有很多人回答的。

资料来天极网~