在设置不透明属性时,经常用opacity来增加层次感或者增加用户体验,但这个属性是css3属性,对于低级浏览器的兼容性来说就达不到预期的效果。

一般而言,我们都尽可能少用一些浏览私有属性-webkit,-moz,-ms,-o,但这也仅仅解决了市面上很多浏览器的问题,面对IE,特别是IE9-版本的,也是显得有气无力。

如果要使得市面上的浏览器达到统一的近类似效果,那么是非常有必要写上IE私有属性,触发IE hasLayout 特性,比如这样:

.opacity{
opacity:0.5;
filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50); /*IE6~IE8*/
} filter是CSS1的属性,但是因为老版本的IE4.0~IE9对filter的支持性不高,对浏览器的支持也不稳定,因此这个属性只能当做实验性技术来观察。 一.filter 界面滤镜 在IE中 filter 分为静态滤镜(Visual Filters)和过渡转场(Transitions Reference)。
静态滤镜的效果可以设置元素的不透明度、渐变、模糊、对比度、明度等,而过度转场则注重的ie的动画效果。 使用ie filter属性时,必须要加前缀,如下: .test{
	filter:progid:DXImageTransform.Microsoft.    /*.后面都是紧跟着各种滤镜和转场函数*/
} /*如:模糊滤镜*/
.blur{
filter:progid:DXImageTransform.Microsoft.Blur() /*.函数的开头第一个字母必须大写,括号()里面的滤镜的各种值*/
}

1.AlphaImageLoader,这个属性是主要是针对png透明图片进行不透明度的处理,在IE6的png透明图片其实是不透明的,显示会灰色背景。


语法:


filter:progid:DXImageTransform.Microsoft.AlphaImageLoader()
/*完整写法*/
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true' , sizingMethod='' , src='mini.jpg')

其值包括2个可选值,一个必选值。


属性 特性 描述
enabled Enabled

可选值,Boolean布尔值,默认值为ture,启用过滤器;false为不启用过滤器。所有的filter都有该属性值,下面不一一多说。

sizingMethod sizingMethod

可选值,设置或检索的方式来显示一个图像在对象边界显示方式。有三个值:crop裁剪图像以适应对象的尺寸;image,默认值,扩大或减少对象的边界,以适应图像的尺寸;scale,伸展或收缩图像填充对象的边界;

src src

必须值,引入图片。


不妨用你的手中的IE6~8来预览一下官方demo→AlphaImageLoader


2.Gradient,渐变滤镜。


语法:


filter:progid:DXImageTransform.Microsoft.Gradient()
/*完整写法*/
filter:progid:DXImageTransform.Microsoft.Gradient(enabled='ture',GradientType='1',StartColorStr='#00000000',EndColorStr='#FFFF3300')

属性 特性 描述
enabled Enabled

可选值,Boolean布尔值,默认值为ture,启用过滤器;false为不启用过滤器。

StartColorStr StartColor

设置或者检索开始不透明度的梯度值,整数型Integer,指定一个整数型值,值的变化从0 (transparent[透明]) to 4294967295 ([白色不透明]).

  StartColorStr

设置或者检索开始的颜色值,string类型字符串,值从#FF000000 到 #FFFFFFFF,默认值为:#FF000000,比如一个值为:#AARRGGBB ,那么AA代表透明度alpha,RR表示红色16进制值,GG表示绿色16进制值,BB表示黑色16进制值。

  EndColor

设置或者检索结束不透明度的梯度值,同上,很少用。

  EndColorStr

设置或者检索结束的颜色值,同上

  GradientType

设置渐变的方向。有两个值,1代表水平方向,0代表垂直方向渐变。


可以使用IE6~8来预览一下官方demo→Gradient Filter

结合上表,注意下面的style属性的时候其实就会发现,StartColorStr中的值跟我们平常的用到的#ffffff是不一样的,如图


二、filter静态滤镜


1.Alpha,调整对象内容的不透明度。


语法:


filter:progid:DXImageTransform.Microsoft.Alpha()
/*完整写法*/
filter:progid:DXImageTransform.Microsoft.Alpha(enabled='ture',GradientType='1',StartColorStr='#00000000',EndColorStr='#FFFF3300')

Style,设置或者调整不透明度的风格。0代表默认值,1代表线性不透明,2代表径向渐变,3代表矩形渐变


Opacity,设置或调整不透明度值。0~100值,其中0默认值表示全透明,100为全不透明


FinishOpacity,设置或调整最后不透明度值。0~100值,其中0默认值表示全透明,100为全不透明


StartX,设置或调整水平不透明最开始位置,默认值为0,即从对象最左边开始。


FinishX,设置或调整水平不透明度结束位置,默认值为0


StartY,设置或调整垂直方向不透明度开始位置,默认值为0


FinishY,设置或调整垂直不透明度结束位置,默认值为0


不妨用你的手中的IE6~8来预览一下官方demo→Alpha Filter


2.BasicImage,调整对象的内容的颜色处理、图像旋转或不透明度。


filter:progid:DXImageTransform.Microsoft.BasicImage()
/*完整写法*/
filter:progid:DXImageTransform.Microsoft.BasicImage(Grayscale='x', Xray='x', Mirror='x', Invert='x', Opcity='x', Rotation='x')

GrayScale ,设置或调整对象的灰度值。


Invert ,设置或调整对象的反相。


Opacity ,设置或调整对象的不透明度。


Mask ,设置或调整对象的的RGB是否为MashColor值,0默认值,显示正常RGB值,1表示改变内容为MashColor(不常用)


Mirror ,设置或调整对象镜像。0正常显示,1内容对象将翻过来。


Rotation ,设置或调整对象旋转,0正常显示,1代表旋转90°,2代表旋转180°,3代表旋转270°


XRay ,设置或调整对象的X射线,布尔值,0正常显示,1代表X射线,有点像我们去医院拍X光一样的效果。


不妨用你的手中的IE6~8来预览一下官方demo→BasicImage Filter


3.Blur,设置对象的模糊值。


filter:progid:DXImageTransform.Microsoft.Blur()
/*完整写法*/
filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius='x', MakeShadow='x', ShadowOpacity='x')

PixelRadius,设置对象的模糊半径,1~100数值。


MakeShadow,设置对象是否投影,布尔值,true和false


ShadowOpacity,设置对象投影不透明度,0.0~1.0,假如MakeShadow为false那么该值无效。


不妨用你的手中的IE6~8来预览一下官方demo→Blur Filter


4.Chroma ,设置对象的色彩透明度


filter:progid:DXImageTransform.Microsoft.Chroma()
/*完整写法*/
filter:progid:DXImageTransform.Microsoft.Chroma(Color='x')

Color,设置颜色值。


不妨用你的手中的IE6~8来预览一下官方demo→Chroma Filter


5.Compositor ,设置新对象内容的合成颜色,这个翻译有点拗口,大概的意思就是:2个对象,要显示哪个或者隐藏哪个,或者显示他们对比之后的新对象。


filter:progid:DXImageTransform.Microsoft.Compositor()
/*完整写法*/
filter:progid:DXImageTransform.Microsoft.Compositor(function='')

其中function值有18个值,很多很多。也不一一说了,有兴趣的的前往这里看demo→Compositor Filter


6.DropShadow ,设置对象的投影效果。


filter:progid:DXImageTransform.Microsoft.DropShadow()
/*完整写法*/
filter:progid:DXImageTransform.Microsoft.DropShadow(OffX='x', OffY='x', Color='x', Positive='x')

OffX,设置投影的X位移,单位数值,默认值为5


OffY,设置投影的Y位移,单位数值,默认值为5


Color,设置投影的颜色值


Positive,设置投影的透明或者非透明。



不妨用你的手中的IE6~8来预览一下官方demo→Blur Filter


7.Emboss ,设置对象的浮雕效果。


filter:progid:DXImageTransform.Microsoft.Emboss()
/*完整写法*/
filter:progid:DXImageTransform.Microsoft.Emboss(Bias='')

一般来说Bias属性不需要设置,可以忽略,官方demo→Emboss Filter


8.Engrave ,设置对象的雕刻效果。


filter:progid:DXImageTransform.Microsoft.Engrave()
/*完整写法*/
filter:progid:DXImageTransform.Microsoft.Engrave(Bias='')

一般来说Bias属性不需要设置,可以忽略,官方demo→Engrave Filter


9.Glow ,设置对象的光晕效果。


filter:progid:DXImageTransform.Microsoft.Glow()
/*完整写法*/
filter:progid:DXImageTransform.Microsoft.Glow(color='', Strength='')

color,设置光晕颜色。


Strength,设置光晕的宽度,数值单位


官方demo→Glow Filter


10.Light ,设置对象的亮度


filter:progid:DXImageTransform.Microsoft.Light()

addAmbient,加入对象环境光


addCone ,加入锥形光源


addPoint 加入点光源


changeColor ,改变亮度颜色


changeStrength,改变亮度长度


clear,清除亮度


moveLight,移动光源焦点。


官方demo→Light Filter


11.ICMFilter ,设置对象颜色内容改变,使其显示像打印设备的颜色。


官方无demo,IE9时,这个滤镜仅仅应用于屏幕内容显示效果上,当内容是打印时,将不应用。


12.MaskFilter ,设置对象内容透明或者非透明颜色。


filter:progid:DXImageTransform.Microsoft.MaskFilter()
/*完整写法*/
filter:progid:DXImageTransform.Microsoft.MaskFilter(Color='')

13.Matrix,调整大小、旋转或翻转使用矩阵的内容对象转换。


filter:progid:DXImageTransform.Microsoft.Matrix()

可以设置各种角度的旋转,官方demo→Matrix Filter


14.MotionBlur,设置对象模糊,测试完demo之后感觉有点像线性模糊,就是月光投射下来不均匀的模糊效果。


filter:progid:DXImageTransform.Microsoft.MotionBlur()
/*完整写法*/
filter:progid:DXImageTransform.Microsoft.MotionBlur(Direction='',Strength='',Add='')

Direction,设置对象模糊方向,从0°~315°照射下来。


Strength ,设置对象模糊范围,单位数值,初始值为5


Add,设置图像模糊是否覆盖在原图上,布尔值,true表示覆盖,false表示不覆盖


官方demo→MotionBlur Filter


15.Wave,设置对象为波浪纹滤镜效果


filter:progid:DXImageTransform.Microsoft.Wave()
/*完整写法*/
filter:progid:DXImageTransform.Microsoft.Wave(Add='', LightStrength='', Phase='', Strength='', Freq='')

Add,设置滤镜是否覆盖在原图上,布尔值,true表示覆盖,false表示不覆盖


LightStrength,亮度强度,0~100数值,数值越大滤镜效果越明显


Phase,相对偏移值,0~100数值


Strength,设置波浪强度,默认值为5,数值越大,波浪效果越明显。


Frep,设置波浪频率,默认值为3,数值越大,波浪效果越明显。


官方demo→Wave Filter


16.Shadow,设置对象阴影效果。


filter:progid:DXImageTransform.Microsoft.Shadow()
/*完整写法*/
filter:progid:DXImageTransform.Microsoft.Shadow(color='', Direction='', Strength='')

Color,设置阴影颜色。


Direction,设置阴影的方向,角度也是从0°~315°取值(跟PS的投影效果非常的相似。)


Strength,设置投影强度,数值越大越模糊。


官方demo→Filter

参考资料:http://msdn.microsoft.com/en-us/library/ms532853(v=vs.85).aspx

原文地址:http://xiaoho.com/?p=887
												

了解IE中filter属性的应用!的更多相关文章

  1. CSS中filter属性的使用

    filter 属性定义了元素的可视效果 blur 给图像设置高斯模糊."radius"一值设定高斯函数的标准差,或者是屏幕上以多少像素融在一起, 所以值越大越模糊. 如果没有设定值 ...

  2. C#的Winform中OpenFileDialog对话框Filter属性设置包含特定字符,使用正则表达式

    OpenFileDialog对话框的Filter属性说明: 首先观察Filter属性的组成部分:“Word文件|*.doc ”,前面的“Word文件”成为标签,是一个可读的字符串,可以自定定义,“|* ...

  3. Javascript中prototype属性详解

    在典型的面向对象的语言中,如java,都存在类(class)的概念,类就是对象的模板,对象就是类的实例.但是在Javascript语言体系中,是不存在类(Class)的概念的,javascript中不 ...

  4. css3中filter的各种特效

    css3中的filter属性可以说是简单易用且强大,这些效果作用在图片上实现一些特效(也可以作用在vidio上,此处只讨论图片特效). 浏览器兼容性 目前各大浏览器对于css3的兼容已经非常好了,最新 ...

  5. Javascript中prototype属性的详解

    原文链接:http://www.cnblogs.com/Uncle-Keith/p/5834289.html 在典型的面向对象的语言中,如java,都存在类(class)的概念,类就是对象的模板,对象 ...

  6. css中filter:alpha透明度使用

    css中filter:alpha透明度使用    使用filter可以设置透明度,filter:alpha在IE下是没有问题的,要支持firefox就需要使用-moz-opacity,下面有个不错的示 ...

  7. Java中Filter、Servlet、Listener的学习

    1.Filter的功能filter功能,它使用户可以改变一个 request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它能够在一个reques ...

  8. [转载]OpenFileDialog对话框Filter属性

    首先说明一个示例,分析一下Filter属性的构成:“ Excel文件|*.xls ”,前面的“Excel文件”成为标签,是一个可读的字符串,可以自定定义,“|*.xls”是筛选器,表示筛选文件夹中后缀 ...

  9. 转 Java中Filter、Servlet、Listener的学习

      1.Filter的功能filter功能,它使用户可以改变一个 request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它能够在一个requ ...

随机推荐

  1. 深入了解Go Playground

    简介 2010年9月,我们介绍了Go Playground,这是一个完全由Go代码组成和返回程序运行结果的web服务器. 如果你是一位Go程序员,那你很可能已经通过阅读Go教程或执行Go文档中的示例程 ...

  2. 02 Java图形化界面设计——中间容器(Jpanel)

    上一篇讲解了Jframe顶层容器,例子中生成了一个空的窗体,在实际编程过程中,一般很少将文本框.按钮等组件直接放在顶层容器中进行布局,大多数时候是通过布局管理器结合中间容器对组件进行布局设置. 1.  ...

  3. Window对应的类为java.awt.Windows, 它可独立于其他Container而存在

    Window对应的类为java.awt.Windows, 它可独立于其他Container而存在,它有两个子类, Frame和Dialog, Frame是具有标题(title)和可伸缩的角(resiz ...

  4. 【vijos】1746 小D的旅行(dijkstra)

    https://vijos.org/p/1746 这题就是水题.裸的跑完每个点的最短路后直接可以暴力出解.. 这题贴出来是因为我改了下我的dijkstra的模板...(其实是原来一直写错了233 注意 ...

  5. oracledbconsole db启动问题

    oracledbconsole db启动问题 被这个OracleDBconsole服务无法启动的问题折磨了两个星期了,今天很幸运,在网上无意间看到了一位大侠的思路,虽然错误的情况并不完全相同,但他的思 ...

  6. 使用Navicat for MySQL

    1.打开Navicat for MySQL 2.新建连接 3.新建数据库 4.在新建的数据库上运行SQL文件

  7. 源码分析——Action代理类的工作

     Action代理类的新建 通过<Struts2 源码分析——调结者(Dispatcher)之执行action>章节我们知道执行action请求,最后会落到Dispatcher类的serv ...

  8. 基于注解的Spring AOP拦截含有泛型的DAO

    出错场景 1.抽象类BaseDao public abstract class BaseDao<T> { public BaseDao() { entityClass = (Class&l ...

  9. iOS-iOS9.Plist插入网络安全xml

    //iOS9 设置网络 Plist文件 <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsAr ...

  10. Android自定义上拉控件SpringView

    Demo 先看一下SpringView的效果图: 1.拖动灰色部分可拖动下方视图,点击jump按钮可让下方视图自行滑动. 使用方法 布局文件: <com.zql.android.springvi ...