`
天梯梦
  • 浏览: 13624399 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

filter IE滤镜(Internet Explorer)CSS

阅读更多
概述

CSS滤镜虽然只能在IE浏览器中表现出效果,但是仍不失为网页增加特效的好办法。

 

1.CSS静态滤镜样式 (filter)

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

实例讲解

 

现在非常多的朋友搞个人网页,而且做的五彩缤纷,各有特色,但是比较多的朋友把大大的一幅图象放在页面上,致使页面下载很慢,加上用GIF格式做动 画,尽管用GIF格式搞的动画比较苗条,但是也不大合算。能否不用特别做的图象,不用GIF格式做动画,可以把页面搞的生气活现呢?可以,但 JAVASCRIPT比较对一般初学者来说是比较难的,笔者今天要用IE本身内含的STYLE这个重量级的命令属性中的RevealTrans和滤镜来搞 搞新意思!希望网友们能灵活运用这些滤镜和页面切换效果,把自己的主页搞的有声有色!不断进步!

 

Style属性可以应用在标签中,更可用广泛应用 在<table><tr><td><body><center><img><input><font><form><frame><label><map> 等等标签中,更重要的是,它可用在标签中。

 

页面切换效果:

在页面前部与之间加入""
说明:duration为页面切换的时间长度,3.000表示3秒钟,一般可以直接输入3便可;transition为切换效果,从1-23共22种不同的切换效果,其中23为随机效果。

 

滤镜效果:

Photoshop的滤镜用的多了吧,在页面中也用滤镜搞搞新意思吧!

语法: filter:filtername(fparameter1,fparameter2...)
(Filtername为滤镜的名称,fparameter1、fparameter2等是滤镜的参数)

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

 

1、滤镜:Alpha

语法: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",2)


2、滤镜:blur
语法: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
语法:filter:Chroma(Color = color)
说明:color:#rrggbb格式,任意。
例子:filter:Chroma(Color="#FFFFFF")


4、滤镜:DropShadow
语法: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

语法:filter:FlipH
例子:filter:FlipH

 

6、滤镜:FlipV
语法:filter:FlipV
例子:filter:FlipV


7、滤镜:glow
语法:filter:Glow(Color=color, Strength=strength)
说明:
Color:发光颜色。
Strength:强度(0-100)
例子:filter:Glow(Color="#6699CC",Strength="5")


8、滤镜:gray

语法:filter:Gray
例子:filter:Gray


9、滤镜:invert
语法:filter:Invert
例子:filter:Invert


10、滤镜:mask
语法: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
语法:filter:Xray
例子:filter:Xray;


14.颜色变化
语法:filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr="#B5CCFA", EndColorStr="#B5CCFA");

 

 

 

Filter 为微软的专有技术,并被应用到 IE4.0 及以上的 IE 浏览器中,所以只有 IE 支持。其他浏览器中对 Filter 无任何效果。调用 Filter 对应的 DOM 对象将会出错。

IE滤镜

IE4.0 以上版本的 IE 浏览器中可以通过 CSS 在网页中应用多种多媒体样式的视觉效果,这就是微软的 Filter 技术。随着 IE 版本的增加,并在各版本中不断的加强 Filter 效果。通过将 Filter 与脚本的结合,可以在页面中实现各种复杂的特效,如半透明、阴影、投影、遮罩、模糊、渐变、波浪、图片翻转等效果。

 

透明效果:filter:alpha(opacity=50);

黑白照片:filter: gray;

X光照片:filter: Xray;

风动模糊:filter: blur(add=true,direction=45,strength=30);

正弦波纹:filter: Wave(Add=0, Freq=60, LightStrength=1, Phase=0, Strength=3);

半透明效果:filter: Alpha(Opacity=50);

线型透明:filter: Alpha(Opacity=0, FinishOpacity=100, Style=1, StartX=0, StartY=0, FinishX=100, FinishY=140);

放射透明:filter: Alpha(Opacity=10, FinishOpacity=100, Style=2, StartX=30, StartY=30, FinishX=200, FinishY=200);

白色透明:filter: Chroma(Color=#FFFFFF);

降低色彩:filter: grays;

底片效果:filter: invert;

左右翻转:filter: fliph;

垂直翻转:filter: flipv;

投影效果:filter:progid:dXImageTransform.Microsoft.DropShadow(color=#cccccc,offX=5,offY=5,positives=true);

马赛克:filter:progid:dXImageTransform.Microsoft.Pixelate(maxsquare=3);

发光效果:filter:progid:dXImageTransform.Microsoft.Glow(color=#cccccc,Strength=5);

柔边效果:filter:alpha(opacity=100, finishOpacity=0,style=2;

许多 Filter 中的特效均已进入了 CSS3 草案,并在新版的非 IE 浏览器中得到了很好的支持。

 

 

 

Microsoft.AlphaImageLoader滤镜讲解

 

Microsoft.AlphaImageLoaderIE滤镜 的一种,其主要作用就是对图片进行透明处理。虽然FireFox和IE7以上的IE浏览器已经支持透明的PNG图片,但是就IE5-IE6而言还是有一定的意义。


语法:

filter : progid:DXImageTransform.Microsoft.AlphaImageLoader ( enabled= bEnabled , sizingMethod= sSize , src= sURL )


属性:

enabled :  可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true | false
true :  默认值 。滤镜激活。
false :  滤镜被禁止。
sizingMethod :  可选项。字符串(String)。设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式。
crop :  剪切图片以适应对象尺寸。
image :  默认值 。增大或减小对象的尺寸边界以适应图片的尺寸。
scale :  缩放图片以适应对象的尺寸边界。
src :  必选项。字符串(String)。使用绝对或相对 url 地址指定背景图像。假如忽略此参数,滤镜将不会作用。


特性:

Enabled :  可读写。布尔值(Boolean)。参阅 enabled 属性。
sizingMethod :  可读写。字符串(String)。参阅 sizingMethod 属性。
src :  可读写。字符串(String)。参阅 src 属性。


说明:

在对象容器边界内,在对象的背景和内容之间显示一张图片。并提供对此图片的剪切和改变尺寸的操作。如果载入的是PNG(Portable Network Graphics)格式,则0%-100%的透明度也被提供。
PNG(Portable Network Graphics)格式的图片的透明度不妨碍你选择文本。也就是说,你可以选择显示在PNG(Portable Network Graphics)格式的图片完全透明区域后面的内容。


示例:
#idDiv{position:absolute; left:140px; height:400; width:400;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='rain1977.gif',sizingMethod='scale');}
.dream{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/earglobe.gif');}

 

P.S. 当想使用backgroundimage属性时,如果不想让图片原尺寸显示,而是类似于IMG width=100% heigth=100% 的效果,可以通过此filter实现。

 

span.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='test.jpg', sizingMethod='scale')";
引用:最后说说关于FF和IE效果调和问题。这个滤镜效果只适用于IE,在FF下面无法显示,我想这是前辈说他很难实现的最终问题了。以往我们用*或者_来修复IE下和FF的区别.这一次是要找方法修复FF不能实现的问题.

其实想到的话,也很简单了.就是先让FF正常显示该图片,然后,用*或_ 来清除IE下的显示效果,最后用*或_ 来做以上的滤镜效果。大功告成!

以上是官方的说明。事实上实际操作中需要注意:AlphaImageLoader滤镜会导致该区域的链接和按钮无效,一般情况下的解决办法是为链接或按钮 添加:position:relative使其相对浮动 要注意的是,当加载滤镜的区域的父层有position:absolute绝对定位的时候使用position:relative也不能使链接复原。建议 使用浮动办法处理。

具体操作:

  1. 为预览区域(比如要在某个 div 中预览)添加样式:filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);。
  2. 为 AlphaImageLoader 设置 src 属性。

 

 

 

 

分享到:
评论
3 楼 天梯梦 2012-10-23  
Jabbar2011 写道
还不错!只是我发现现在用IE滤镜实现是不是比直接用一张图片代替费事的多呢?总觉得实用性不是很大,但是个别情况还是需要滤镜的

是的,而且他占用的资源也很大,所以基本上不建议使用,fancybox 2.0 的版本已经完全抛弃滤镜了,哈哈。
2 楼 Jabbar2011 2012-10-22  
还不错!只是我发现现在用IE滤镜实现是不是比直接用一张图片代替费事的多呢?总觉得实用性不是很大,但是个别情况还是需要滤镜的
1 楼 hbiao68 2012-01-01  
现在CSS3好像已经支持滤镜效果了吧,你能说点关于CSS3透明方面的事情吗,谢谢了!

相关推荐

Global site tag (gtag.js) - Google Analytics