css中的滤镜
前几天在做一个app应用的时候,用到了滤镜。在之前我只是知道有这么个东西,但是具体的知识点其实我是不太清楚的,所以为了让自己能深刻记忆,专门把它来记录一下。。
一、滤镜的标识符:“filter”;语法:style="filter:滤镜属性:(参数)"
二、支持度:
IE4.0以上支持的滤镜属性表
滤镜效果 描述 :
Alpha 设置透明度
Blur 建立模糊效果
Chroma 把指定的颜色设置为透明
DropShadow 建立一种偏移的影象轮廓,即投射阴影
FlipH 水平反转
FlipV 垂直反转
Glow 为对象的外边界增加光效
Grayscale 降低图片的彩色度
Invert 将色彩、饱和度以及亮度值完全反转建立底片效果
Light 在一个对象上进行灯光投影
Mask 为一个对象建立透明膜
Shadow 建立一个对象的固体轮廓,即阴影效果
Wave 在X轴和Y轴方向利用正弦波纹打乱图片
Xray 只显示对象的轮廓
三、滤镜的各种属性(重点)详解:
1.alpha 滤镜用于设置透明度
法:filter:alpha(enabled=bEnabled,opacity=iOpcity,finishOpacity=iFinishOpacity,style=iStyle,startX=iPercent,startY=iPercent,finishX=iPercent,finishY=iPercent)
参数很多,但是有些参数是可选参数,不一定全部参数都要用上哦。
enabled 布尔值:true |false
(可选参数) true:默认值,滤镜激活
flase:滤镜被禁止
opacity 代表透明度程度:范围是从0~100,他们其实是百分比的形式。也就是说,0代表完全透明,100代表完全不透明;
finishOpacity 是一个可选参数,如果想要设置渐变的透明效果,就可以使用他们来指定结束时的透明度。范围也是0 到 100;
style 指定了透明区域的形状特征。
0代表统一形状
1代表线形
2代表放射状
3代表长方形;
startX 代表渐变透明效果的开始的X坐标;
startY 代表渐变透明效果的开始的Y坐标;
finishX 代表渐变透明效果结束的X坐标;
finishY 代表渐变透明效果结束的Y坐标;
实例:style="filter:alpha(opacity=10,style=3);"
前面是IE下的,后面的透明度设置是在大众浏览器下支持的,在写代码的时候建议最好两个都写上,当一个属性没有作用时,另一个属性调用也是好的。
2.Blur 模糊效果 。
语法:filter:blur(add=iadd,direction=idirection,strength=istrength);
参数:
add 它指定图片是否被改变成模糊效果,模糊效果是按顺时针的方向进行的。
这是一个布尔值:true(默认)或false,也可以是1和0,1表示“是”,0表示“否”。add=false(或“0”)时Blur滤镜不起作用,取true(或非“0”值)时Blur滤镜起作用;
direction 用来设置模糊的方向,其值为0至360度;其中0度代表垂直 向上,然后每45度为一个单位。它的默认值是向左的270度。
strength 它代表有多少个像素的宽度成为阴影,也可以简单地理解为阴影的长度。它只能用整数来指定,默认值是5个像素,可以根据实际需要来指定阴影的长度。
实例:filter: blur(1px);-webkit-filter: blur(1px);-moz-filter: blur(1px);-o-filter: blur(1px);-ms-filter: blur(1px); 数值越大,越模糊,
3、Chroma 滤镜给予图像一个特定的颜色透明;
语法:"filter:Chroma(Color=color)";
实例:style= "filter:chroma(color=#ceff9c)";
4、DropShadow 添加对象的阴影效果。其工作原理是建立一个偏移量,加上较深。
语法:style= "filter:dropshadow(color=pink,offx=-5,offy=-5,positive=1)"
参数:
'Positive ' 参数是一个布尔值,如果为“TRUE(非0)”,那么就为任何的非透明像素建立可见的投影。
如果为“FASLE(0)”,那么就为透明的像素部分建立透明效果 代码如下:
offx: 阴影相对于原始对象的水平位移量,设置值为整数,单位为像素。若水平往右移,则正数;反之为负数
offy: 阴影相对于原始对象的垂直位移量,设置值为整数,单位为像素。若垂直往下移,则正数;反之为负数;
/** 注意:
* 1. 阴影的外观受border-radius样式的影响;
* 2. :after和:before等伪元素会继承阴影的效果。
*/
实例:style="filter:dropshadow(color=gray,offx=5,offy=5.positive=0)"
5、FlipH 水平反转 ,FlipV 垂直反转
语法:filter:fliph() filter:filhv()
6、Glow 为对象的外边界增加光效
语法:{filter:glow(color=color,strength)};
参数:
color:设置边缘光晕的颜色,以#rrggbb的格式,或名称;
strength:设置边缘光晕的强度大小,设置值为1~255的整数;
实例:style= "filter:glow(color=yellow,strength=10)"
7、Gray gray滤镜并无参数 ,Invert,Xray 滤镜
语法:style="filter:gray"; /*IE5--9*/ style="filter:invert"; style="filter:xray";
Gray滤镜是把一张图片变成灰度(黑白)图;(汶川大地震后很多网站色调都变灰色,就是用的这一点代码实现的);
Invert滤镜是把对象的可视化属性全部翻转,包括色彩、饱和度、和亮度值,类似于底片效果,invert滤镜并无参数,我称它为:反色调;
Xray滤镜是让对象反映出它的轮廓并把这些轮廓加亮,也就是所谓的“X”光片,Xray 只显示对象的轮廓。
8、Grayscale 降低图片的彩色度
语法:style="filter:grayscale();";
/*灰度 取值在0-1之间 可以取值百分数或者分数*/
实例:style="filter: grayscale(1);
-webkit-filter: grayscale(1);
-moz-filter: grayscale(1);
-o-filter: grayscale(1);
-ms-filter: grayscale(1);"
个人认为: Grayscale 和gray 有相同的效果,只不过一个有参数设置,一个没有参数设置。
9、Light 在一个对象上进行灯光投影,它可控制多个光源照向一个对象,用以调节亮度、颜色,语法;
语法:Filter{light}
这个属性模拟光源的投射效果。一旦为对象定义了“LIGHT'滤镜属性,那么就可以调用它的“方法(Method)'来设置或者改变属性。“LIGHT'可用的方法有:
·AddAmbient 加入包围的光源
·AddCone 加入锥形光源
·AddPoint 加入点光源
·Changcolor 改变光的颜色
·Changstrength 改变光源的强度
·Clear 清除所有的光源
·MoveLight 移动光源
方法详解:
(1)addAmbient (iRed,iGreen,iBlue,iStrength) : 为滤镜添加环境光。环境光是无方向的,并且均匀的洒在页面的表面。环境光有颜色和强度值,可以为对象田家更多的颜色。它通常和其他光一起使用。无返回值。
iRed : 必选项。整数值(Integer)。 指定红色值。取值范围为 0 - 255 。
iGreen : 必选项。整数值(Integer)。 指定绿色值。取值范围为 0 - 255 。
iBlue : 必选项。整数值(Integer)。 指定蓝色值。取值范围为 0 - 255 。
iStrength : 必选项。整数值(Integer)。 指定光强度。取值范围为 0 - 100 。
(2)changeColor (iLightNumber,iRed,iGreen,iBlue,fAbsolute) : 改变光的颜色。无返回值。
iLightNumber : 必选项。整数值(Integer)。 指定光的标识符。
iRed : 必选项。整数值(Integer)。指定红色值。取值范围为 0 - 255 。
iGreen : 必选项。整数值(Integer)。指定绿色值。取值范围为 0 - 255 。
iBlue : 必选项。整数值(Integer)。指定蓝色值。取值范围为 0 - 255 。
fAbsolute : 必选项。布尔值(Boolean)。指定改变是替换当前设置的绝对值,还是加到当前设置的相对值。此参数不等于零表示采用绝对值。否则表示采用相对值。
可以定义光源的虚拟位置,以及通过调整X轴和Y轴的数值来控制光源焦点的位置,还可以调整光源的形式(点光源或者锥形光源)指定光源是否模糊边界、光源的颜色、亮度等属
性。如果动态的设置光源,可能回产生一些意想不到的效果。
(未测试0)
style="filter:light(); width:400; height:300" onload="javascript:this.filters.light.addAmbient(10,250,100,55)"
onmousemove="javascript:this.filters.light.changeColor(0,150,100,50,0)"
0、Mask 为一个对象建立透明膜,掩饰,假面具,设置对象的屏蔽效果,就好象印章一样印出模型的模样;
使用'MASK'属性可以为对象建立一个覆盖于表面的膜,其效果就象戴着有色眼镜看物体一样。
实例:style= "filter: mask(color=‘#0000ff’)";
11、Shadow 建立一个对象的固体轮廓,即阴影效果 ;阴影渐变 除了具备DropShadow的阴影效果外,它还多了阴影渐变的特效;
语法:filter:Shadow(Color=color,Direction=direction)
12、Wave 在X轴和Y轴方向利用正弦波纹打乱图片
语法:filter:Wave(Add=add,Freq=freq,LightStrength=strength,Phase=phase,Strength=strength)
13、saturate 饱和度
语法:style="filter:saturate();"
实例:
/**
* 效果范围,取值范围>=0的数字或百分数,1为无效果,0为灰度图
*/
-webkit-filter: saturate(2);
-moz-filter: saturate(2);
-o-filter: saturate(2);
-ms-filter: saturate(2);
filter: saturate(2);
14、Hue Rotate 色相旋转滤镜 /*反色调 取值为0-360deg*/
语法: style="filter: hue-rotate();" ;
实例:
/** 格式,filer: hue-rotate(效果范围)
* 效果范围,取值范0deg~365deg,0(默认值)为无效果
*/
-webkit-filter: hue-rotate(200deg);
-moz-filter: hue-rotate(200deg);
-o-filter: hue-rotate(200deg);
-ms-filter: hue-rotate(200deg);
filter: hue-rotate(200deg);
15:sepia 滤镜是对图片或元素整体进行棕褐色处理,就是老照片那种效果。
语法: style="filter: hue-rotate();" ;
实例:
/*老照片效果 取值0-1之间*/
filter: sepia(0.5);
-webkit-filter: sepia(0.5);
-moz-filter: sepia(0.5);
-o-filter: sepia(0.5);
-ms-filter: sepia(0.5);
16、brightness 亮度
语法: style="filter: brightness();" ;
实例:
/** 格式,filer: brightness(效果范围)
* 效果范围,取值范围>=0的数字或百分数,1为无效果
*/
-webkit-filter: brightness(2);
-moz-filter: brightness(2);
-o-filter: brightness(2);
-ms-filter: brightness(2);
filter: brightness(2);
17、contrast 对比度
/** 格式,filer: contrast(效果范围)
* 效果范围,取值范围>=0的数字或百分数,1为无效果
*/
-webkit-filter: contrast(2);
-moz-filter: contrast(2);
-o-filter: contrast(2);
-ms-filter: contrast(2);
filter: contrast(2);
前面的 内容有些我没有经过测试,不过后面的饱和度,对比度亮度什么的,我都有进行测试哦。。。
css中的滤镜的更多相关文章
- DIV+CSS中的滤镜和模糊
在div+css中,经常会用到div和span 当内容比较多的时候,会用到div 当内容比较少的时候,会用到span 来看下面的代码: <!DOCTYPE html> <html&g ...
- CSS中filter滤镜学习笔记
1.CSS静态滤镜样式 (filter)(只有IE4.0以上支持) CSS静态滤镜样式的使用方法:{ filter : filtername( parameters1, parameters2, . ...
- CSS中filter滤镜的学习笔记
1.CSS静态滤镜样式 (filter)(只有IE4.0以上支持) CSS静态滤镜样式的使用方法:{ filter : filtername( parameters1, parameters2, . ...
- css中常见的属性-----在路上(14)
一.css文字属性 color : #999999; /*文字颜色*/ font-family : 宋体,sans-serif; /*文字字体*/ font-size : 9pt; /*文字大小*/ ...
- 深入理解CSS中的层叠上下文和层叠顺序(转)
by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=5115 零.世间的道 ...
- CSS中的常用属性
一 CSS文字属性:color : #999999; /*文字颜色*/font-family : 宋体,sans-serif; /*文字字体*/font-size : 9pt; /*文字大小*/fon ...
- css中filter:alpha透明度使用
css中filter:alpha透明度使用 使用filter可以设置透明度,filter:alpha在IE下是没有问题的,要支持firefox就需要使用-moz-opacity,下面有个不错的示 ...
- 深入理解CSS中的层叠上下文和层叠顺序
零.世间的道理都是想通的 在这个世界上,凡事都有个先后顺序,凡物都有个论资排辈.比方说食堂排队打饭,对吧,讲求先到先得,总不可能一拥而上.再比如说话语权,老婆的话永远是对的,领导的话永远是对的. 在C ...
- [转]深入理解CSS中的层叠上下文和层叠顺序
http://www.zhangxinxu.com/wordpress/2016/01/understand-css-stacking-context-order-z-index/ 零.世间的道理都是 ...
随机推荐
- Web API (一)
页面内容 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> ...
- 几年前无聊小游戏之作_WEB版本打泡泡
几年前写的小东西 主要是H5画布的操作,还有个C语言基于WIN SDK开发的版本 找不到代码了 找到了再分享 <!DOCTYPE html> <script src="ga ...
- symfony2 关于是否需要建立多bundle
http://blog.danielribeiro.org/yes-you-can-have-low-coupling-in-a-symfony-standard-edition-applicatio ...
- poj 3592 Instantaneous Transference 缩点+最长路
题目链接 给一个n*m的图, 从0, 0这个点开始走,只能向右和向下. 图中有的格子有值, 求能获得的最大值. 其中有些格子可以传送到另外的格子, 有些格子不可以走. 将图中的每一个格子都看成一个点, ...
- [C++]Standing Ovation——Google Code Jam 2015 Qualification Round
Problem It’s opening night at the opera, and your friend is the prima donna (the lead female singer) ...
- aliyun 镜像
[epel]name=Extra Packages for Enterprise Linux 6 - $basearchbaseurl=http://mirrors.aliyun.com/epel/6 ...
- iso-开发基础知识-5-适配器
个人学习总结仅供参考:欢迎拍砖 1.适配器:用于连接两种不同种类的对象. 2.分为2种:类适配,对象适配. 3.委托(Delegate)模式属于对象适配器: 4.何时使用适配器模式 书中的这幅图更好的 ...
- S3C6410嵌入式应用平台构建(一)
[2014-4/8~4/10]目前我们已经积累一定的嵌入式相关知识,对嵌入式的架构及开发过程有了大体了解,唯一缺的就是实践,通过自己的分析搭建自己的嵌入式系统.下面,我将从此处开始记录我和我同学一起分 ...
- typedef,static,const用法
一.typedef主要功能是定义一个已存在类型的别名,但是和宏并存 宏与typedef区别 1.宏定义只是简单的字符串替换 2.typedef定义的类型是类型的别名,typedef后面是一个整体声明, ...
- error C2018: unknown character '0xa1'
调试程序时出现 error C2018: unknown character '0xa1',代码行中加入的有编译器不能识别的字符,才发现由空格引起的,删除掉就ok了.