1、概述
好了,下面我们将进入CSS的最精彩的部分--滤镜,它将把我们带入绚丽多姿的多媒体世界。正是有了滤镜属性,页面才变得更加漂亮。
CSS的滤镜属性的标识符是filter。为了使您对它有个整体的印象,我们先来看一下它的书写格式:
filter:filtername(parameters)
怎么样?是不是很简单,看上去与前面讲的属性定义没什么太大的差别。Filter是滤镜属性选择符。
也就是说,只要您进行滤镜操作,就必须先定义filter;filtername是滤镜属性名,这里包括alpha、blur、chroma等等多种属性,详细内容请看下表:
上面filter表达式中括号内的parameters是表示各个滤镜属性的参数,也正是这些参数决定了滤镜将以怎样的效果显示。
看了上面长长的列表,是不是觉得很困难呀?不要紧,我们接下来一个一个的介绍这些属性在CSS中是怎样实现的!
2、alpha属性
alpha是来设置透明度的。先来看一下它的表达格式:
filter:alpha(opacity=opcity,finishopacity=finishopacity,
style=style,startX=startX,startY=startY,finishX=finishX,
finishY=finishY)
哇,怎么这么长。是啊,不过这些参数都各有其用。
Opacity代表透明度等级,可选值从0到100,0代表完全透明,100代表完全不透明。 Style参数指定了透明区域的形状特征。其中0代表统一形状;1代表线形;2代表放射状;3代表长方形。
Finishopacity是一个可选项,用来设置结束时的透明度,从而达到一种渐变效果,它的值也是从0到100。 StartX和StartY代表渐变透明效果的开始坐标,finishX和finishY代表渐变透明效果的结束坐标。
从上面讲的我们可以看出,如果不设置透明渐变效果,那么只需设置opacity这一个参数就可以了。说了这么多,我们来看一个实例吧(见下图):
实现上面这种效果的代码如下:
<html>
<head>
<title>alpha</title>
<style>//*定义CSS样式*//
<!--
div{position:absolute; left:50;top:70; width:150; }
//*定义DIV区域内的样式(位置为绝对定位,left、top、width的坐标)*//
img{position:absolute;top:20;left:40;
filter:alpha(opacity=80)}
//*定义图片的样式,绝对定位,滤镜属性是透明度为80*//
-->
</style>
</head>
<body>
<div>
<p style=“font-size:48;font-weight:bold;color:red;”>
Beautiful </p>//*定义字体属性,前景色为红色*//
</div>
<p><img src=“ss01076.jpg”> </p>
//*导入一张图片*//
</body>
</html>
如果在上面的代码中稍做改动,则将产生另外多种效果。我们只修改img的样式属性,把head中的Img样式属性代码改为如下所示:
img{position:absolute;top:20;left:40;
filter:alpha(opacity=0,finishopacity=100,
style=1,startx=0,starty=85,finishx=150,finishy=85);}
//*设置透明渐变效果,起始坐标,终止渐变坐标,并设置透明样式值(style=1)为 线形*//
这段代码产生的效果如左下图所示,右面的两幅图分别是把Alpha中的Style参数值为2和3后的效果,点击缩略图可放大。
Style=1 Style=2 Style=3
以上是CSS的Alpha滤镜属性的应用,具体应用还需要您自己找个例子练一练。
3、blur属性
假如您用手在一幅还没干透的油画上迅速划过,画面就会变得模糊。CSS下的blur属性就会达到这种模糊的效果。
先来看一下blur属性的表达式:
filter:blur(add=add,direction,strength=strength)
我们看到blur属性有三个参数:add、direction、strength。
Add参数有两个参数值:true和false。意思是指定图片是否被改变成模糊效果。 Direction参数用来设置模糊的方向。模糊效果是按照顺时针方向进行的。其中0度代表垂直向上,每45度一个单位,默认值是向左的270度。角度方向的对应关系见下表:
Strength参数值只能使用整数来指定,它代表有多少像素的宽度将受到模糊影响。默认值是5像素。
还是看一个例子吧。点击这里看效果
看起来是不是有些像万花筒,在这个例子中加入了一些JavaScript的语句,代码如下:
<html>
<head>
<title>blur css</title>
<script>
function handlechange(obj)
//*设置一个循环函数handlechange,对象是obj*//
{ with(obj.filters(0))//*Obj的filter属性*//
{ if (strength<255)//*设置循环条件*//
{ strength +=1;direction +=45;}
//*每循环一次strength就加1,direction加45度*//
}
}
</script>
</head>
<body>
<p><img id =“img1” src=“ss01087.jpg”
style=“filter:blur(strength=1)”
onfilterchange=“handlechange(this)”>
//*导入一幅图片,初始blur属性strength等于1,同时调用onfilterchange函
数*//
</p>
</body>
</html>
注:在javascript中blur属性是这样定义的:
[oBlurfilter=] object.Filters.blur
通过blur属性还可以设置页面中的字体。如果把字体的blur属性add参数值定义为1,得出来的字体效果是这样的(如下图):
怎么样,是不是有些印象派的意思,这种效果的实现代码如下:
<html>
<head>
<title>filter blur</title>
<style>//*CSS样式定义开始*//
<!--
div{width:200;
filter:blur(add=true,direction=90,strength=25);}
//*设置DIV样式,滤镜blur属性*//
-->
</style>
</head>
<body>
<div style=“width:702; height: 288”>
<p style=“font-family:lucida handwirting italic;
font-size:72;font-style:bold;color:rgb(55,72,145);” >
LEAF</p>
//*定义字体名称、大小、样式、前景色*//
</div>
</body>
</html>
我们看到strength设置为25,如果把其值再改大一些,就会达到非常夸张的效果,同时把Direction参数值为180,显示效果如下图:
用blur属性设置字体可以达到很多效果,把direction和strength再做修改,还能达到多种效果,您可以自己修改试一试。
4、Chroma属性
Chroma属性可以设置一个对象中指定的颜色为透明色,它的表达式如下:
Filter:Chroma(color=color)
这个属性的表达式是不是很简单,它只有一个参数。只需把您想要指定透明的颜色用Color参数设置出来就可以了。比如下面这幅图:
图中显示两种字体,两种颜色,我们现在对“leaves”字体添加chroma属性,使其透明。代码如下:
<html>
<head>
<title>chroma filter</title>
<style>
<!--
div{position:absolute;top:70;width:200;
filter:chroma(color=green)}
//*定义DIV范围内绿色为透明色,另外设置DIV的位置*//
p{font-family:bailey;font-size:48;font-weight:bold;
color:green} //*设置P的字体名称、大小、粗细、颜色*//
em{font-family:lucida handwriting italic;font-size:48;
font-weight:bold;color:rgb(255,51,153)}
//*设置EM的字体名称、大小、粗细、颜色*//
-->
</style>
</head>
<body>
<div>
<p>LEAVES <em>LOVE</em></p>
</div>
</body>
</html>
通过上面代码中对chroma的属性设置,使绿色透明。显示效果如下图:
我们看到绿色的leaves字体不见了,实际上它是透明了,在IE下点击它所在的区域,它还是会显示出来(见下图):
另外,需要注意的是,chroma属性对于图片文件不是很适合。因为很多图片是经过了减色和压缩处理(比如JPG、GIF等格式),所以它们很少有固定的位置可以设置为透明。
5、DropShadow属性
DropShadow属性是为了添加对象的阴影效果的。它实现的效果看上去就像使原来的对象离开页面,然后在页面上显示出该对象的投影。看一看它的表达式:
Filter:DropShadow(Color=color,Offx=Offx,Offy=offy,
Positive=positive)
该属性一共有四个参数: Color代表投射阴影的颜色。 Offx和offy分别X方向和Y方向阴影的偏移量。偏移量必须用整数值来设置。如果设置为正整数,代表X轴的右方向和Y轴的向下方向。设置为负整数则相反。
Positive参数有两个值:True为任何非透明像素建立可见的投影,False为透明的像素部分建立可见的投影。
同样,我们先来看一个例子(见下图):
看,图中的文字就像是从页面上飞出来一样,并且留下了一层淡淡的影子。
实际上在这里应用的就是CSS的DropShadow属性,我们来看一下它的代码:
<html>
<head>
<title>dropshadow </title>
<style>//*定义CSS样式*//
<!--
div {position:absolute;top:20;width:300;
filter:dropshadow(color=#FFCCFF,offx=15,offy=10,positive=1);}
-->
//*定义DIV范围内的样式,绝对定位,投影的颜色为#FFCCFF,
投影坐标为向右偏移15个像素,向下偏移10个像素*//
</style>
</head>
<body>
<div>
<p style=“font-family:matisse itc;font-size:64;
font-weight:bold;color:#CC00CC;”>
//*定义字体名称、大小、粗细、颜色*//
Love Leaf </p>
</div>
</body>
</html>
和chroma属性一样,Dropshadow属性对图象的支持不好,我指的是JPEG、GIF格式的图象文件。
不能支持的原因与Chroma一样,因为这种图象的颜色很丰富,很难找到一个投射阴影的位置。
6、FlipH、FlipV属性
Flip是CSS滤镜的翻转属性,FlipH代表水平翻转,FlipV代表垂直翻转。它们的表达式很简单,分别是:
Filter:FlipH
Filter:FlipV
我们先来看一幅图:点击可放大
下面我们分别对它实现水平翻转和垂直翻转,并且在图片上方的一段文字,也发生翻转
代码如下:
<html>
<head>
<title>flip css</title>
<style>//*设置CSS样式开始*//
<!--
div{position:absolute;top:20;width:300;
filter:fliph(flipv);}
//*定义DIV范围内的样式,绝对定位,翻转为水平翻转或垂直翻转。
注意:在这里fliph和flipv只取其中的一个*//
img{position:absolute;top:70;left:40;
filter:fliph(flipv);}
//*定义图片的样式,绝对定位,翻转属性和DIV一样。*//
-->
</style>
</head>
<body>
<div>
<p style=“font-family:bailey;font-size:36pt;
font-weight:bold; color:rgb(10,128,156);”>
Leaf Village </p>
//*定义字体名称、大小、粗细、颜色*//
</div>
<p><img src=“ss05058.jpg”></p>
//*导入一张图片*//
</body>
</html>
代码产生的两个效果分别如下图:(点击可以放大)
水平翻转 垂直翻转
7、Gray属性
Gray属性把一张图片变成灰度图。它的表达式很简单:
Filter:Gray
其实这个属性没什么好讲的,只需在您定义的IMG样式中加入一句代码:
{Filter:Gray}就一切OK了。
下面两幅图分别代表未加Gray属性和添加了Gray属性的效果:
这是原图,点击可放大
转成gray属性后的效果图
8、Glow属性
当对一个对象使用“Glow”属性后,这个对象的边缘就会产生类似发光的效果。它的表达式如下:
Filter:Glow(Color=color,Strength=strength)
Glow属性的参数只有两个:Color是指定发光的颜色,Strength指定发光的强度,参数值从1到255。 让我们先来看一下加上Glow属性的效果图:
怎么样,是不是有一种燃烧的火焰的感觉。实现这种效果的代码如下:
<html>
<head>
<title>filter glow</title>
<style>//*开始设置CSS样式*//
<!--
.leaf{position:absolute; top:20; width:400;
filter:glow(color=#FF3399,strength=15);}
//*设置类leaf,绝对定位,Glow滤镜属性,发光颜色值为#FF3399,强度为
15*//
.weny{position:absolute; top:70; left:50; width:300;
filter:glow(color=#9966CC,strength=10);}
//*设置类weny,绝对定位,glow滤镜属性,发光颜色值为#9966CC,强度为
15*//
-->
</style>
</head>
<body>
<div class=“leaf”>//*leaf类样式*//
<p style=“font-family:lucida handwriting;
font-size:54pt;font-weight:bold;color:#003366;”>
Leaf Mylove</p>//*设置字体名称、大小、粗细、颜色*//
</div>
<div class=“weny”>//*weny类样式*//
<p style=“font-family:bailey; font-size:48pt;
font-weight:bold;color:#99CC66;”>
//设置字体名称、大小、粗细、颜色*//
Weny Good!</p>
</div>
</body>
</html>
您还可以随意修改颜色值,看看其他的发光效果是怎样的。
9、Invert属性
Invert属性可以把对象的可视化属性全部翻转,包括色彩、饱和度和亮度值。
它的表达式也很简单:
Filter:Invert
我们再来看一下加上Invert属性前后的图片效果变化(如下图):
原图 Invert属性效果图
(点击可放大) (点击可放大)
我们看到Invert属性实际上达到的是一种“底片”的效果。
10、Mask属性
Mask属性为对象建立一个覆盖于表面的膜。它的表达式也很简单:
Filter:Mask(Color=颜色)
只有一个Color参数,用来指定使用什么颜色作为掩膜。
同样,我们来看一下一幅图片在加上mask属性前后的效果(见下图):
原 图
Mask属性效果图
加上MASK属性的效果就好象是在用有色眼镜看物体一样。上面的效果的代码如下:
<html>
<head>
<title> mask filter </title>
<style>//*设置CSS样式开始*//
<!--
div{position:absolute;top:20;left:40;
filter:mask(color:#666699);}
//*定义DIV区域的样式,绝对定位,mask属性的color参数值指定用什么颜色遮
住对象*//
p{font-family:bailey;font-size:72pt;
font-weight:bold;color:#FF9900;}
//*定义P区域内的样式,字体名称、大小、粗细、前景色*//
-->
</style>
</head>
<body>
<div>
<p> wenyleaf </p>
</div>
</body>
</html>
其实,您就算在代码中去掉对字体前景色的定义,得到的效果还是一样的。因为有了Mask属性的定义,它遮罩下的字体颜色的设置就已经失去了意义。
还有一点需要您注意的地方,mask属性对图片文件的支持还是不够,不能达到应该有的效果。
11、Shadow属性
Shadow属性可以在指定的方向建立物体的投影。它的表达式是这样的:
Filter:Shadow(Color=color,Direction=direction)
在这里,Shadow有两个参数值:Color参数用来指定投影的颜色;Direction参数用来指定投影的方向。
这里说的方向与我们在第二节Blur属性中提到的“方向与角度的关系”是一样的。 也许您会问,前面讲到的Dropshadow属性和Shadow属性有什么不同吗?
光说的话,您恐怕还难以理解,让我们看一看分别利用这两个属性做出来的效果有什么不同(见下图):
Shadow效果 Dropshadow效果
这样一对比,就可以很明显的看出两者的不同。
Shadow属性可以在任意角度进行投射阴影,Dropshadow属性实际上是用偏移来定义阴影的。所以,看上去左图的文字和阴影就像是一体的,而右图的文字就像脱离了阴影一样。
本例的代码如下:
<html>
<head>
<title> shadow</title>
<style>//*开始设置CSS样式*//
<!--
.shadow{position:absolute;top:20;width:300;
filter:shadow(color=#cc66ff,direction=225);}
//*定义Shadow类的样式,绝对定位,Shadow属性,阴影颜色、投影方向*//
.dropshadow{position:absolute;top:180;width:300;
filter:dropshadow(color=#cc66ff,offx=10,offy=10,positive=1);}
//*设置Dropshadow类的样式,样式与Shadow类相似, 不同的是滤镜用了
Dropshadow属性,设置X轴和Y轴的偏移量*//
-->
</style>
</head>
<body>
<div class=“shadow”>//*区域内为Shadow类*//
<p style=“font-family:bailey;font-size:48pt;
font-weight:bold;color:#FF9900;”>
Hongen Online</p>//*定义字体名称、大小、粗细、前景色*//
</div>
<div class=“dropshadow”>//*区域内为Dropshadow类*//
<p style=“font-family:bailey;font-size:48pt;
font-weight:bold;color:#FF9900;”>
Hongen Online</p>//*定义字体样式与Shadow类的一样*//
</div>
</body>
</html>
12、Wave属性
Wave属性用来把对象按照垂直的波纹样式打乱。它的表达式如下:
Filter:Wave(Add=True(False),Freq=频率,LightStrength=增强光效,
Phase=偏移量,Strength=强度)
我们看到Wave属性的表达式还是比较复杂的,它一共有五个参数。Add参数有两个参数值:True代表把对象按照波纹样式打乱;False代表不打乱;
Freq参数指生成波纹的频率,也就是指定在对象上共需要产生多少个完整的波纹。 LightStrength参数是为了使生成的波纹增强光的效果。参数值可以从0到100。 Phase参数用来设置正弦波开始的偏移量。这个值的通用值为0,它的可变范围为从0到100。这个值代表开始时的偏移量占波长的百分比。比如该值为25,代表正弦波从90度(360*25%)的方向开始。
说了一大堆,我们还是先看一个实例吧。比如下面这幅图片(点击可放大):
下面我们对上面这个页面加上Wave效果,代码如下:
<html>
<head>
<title> wave css</title>
<style>//*定义CSS 样式开始*//
<!--
.leaf{position:absolute;top:10;width:300;
filter:wave(add=true,freq=3,lightstrength=100,
phase=45,strength=20);}
//*设置leaf类的样式,绝对定位,wave属性,产生3个波纹, 光强为100,波纹
从162度(360*45%)开始,振幅为20*//
img{position:absolute;top:110;left:40;
filter:wave(add=true,freq=3,lightstrength=100,
phase=25,strength=5);}
//*设置IMG的样式,绝对定位,wave属性,产生3个波纹,光强为100,波纹从
90度开始,振幅为5*//
-->
</style>
</head>
<body>
<div class=“wave”>//*定义DIV区域内为Wave类*//
<p style=“font-family:lucida handwriting;
font-size=72pt; font-weight:bold;
color:rgb(189,1,64);”>Leaf</p>
//*设置字体名称、大小、粗细、颜色*//
</div>
<p><img src=“ss01044.jpg”></p> //*导入图片*//
</body>
</html>
这段代码实现的效果如下图:
如果把Wave的参数随便做一下改动,就会达到多种效果,请看另外一种效果:(如下图):
其实这种效果只是增大了freq参数的值,减小了Strength、LightStrength的值就可以了。您也可以多试试,改变其他的参数值,还可以达到许多不同的效果来。
13、Xray属性
Xray就是X射线的意思。
Xray属性,顾名思义,这种属性产生的效果就是使对象看上去有一种X光片的感觉。 它的表达式很简单:
Filter:Xray
我们还是先来看一个页面(如下图):
点击可放大
如果在上面的页面中加入Xray属性,也就是在<head>的<Style>中,增添下面这一句代码:
Filter:Xray
您再看这个页面就会是另一种效果了:(如下图)
点击可放大
看,是不是就像给它拍了一张X光片一样。
相关推荐
这个专题——“精通CSS滤镜”深入探讨了CSS滤镜的各种特性、用途以及如何有效地利用它们来提升网站的视觉吸引力。 一、CSS滤镜简介 CSS滤镜(Filter)是CSS3的一个重要特性,它允许我们对元素应用不同的视觉效果,...
在这个“css教程-css样式-css滤镜参考资料”中,我们将会深入探讨CSS中的一个重要特性——滤镜(Filters),它是提升网页视觉效果的强大工具。 滤镜是CSS3引入的一个特性,允许开发者对元素的图像应用各种视觉效果...
**前端开源库——PostCSS Filter Gradient** 在前端开发中,我们常常面临兼容性问题,特别是对于老旧浏览器的支持。为了提供良好的用户体验,我们需要确保网站在各种浏览器中都能正常工作。PostCSS Filter Gradient...
样式表滤镜手册是关于网页设计和开发中一个重要但往往被忽视的技术——CSS滤镜的详细指南。CSS滤镜允许开发者通过应用各种视觉效果来增强或改变HTML元素的外观,这些效果包括但不限于颜色调整、模糊、饱和度变化、...
本文将详细介绍网页滤镜中的一个具体属性——`filter`,特别是针对其在Internet Explorer(IE)浏览器中的使用方式。 #### 一、`filter`属性概述 `filter`属性用于为HTML元素添加视觉效果或滤镜。在现代浏览器中,...
综上所述,这个CHM格式的合集提供了关于网页设计的核心技术——CSS、DOM、DHTML、CSS滤镜和JavaScript的全面教程。对于希望深入学习网页设计和开发的人员来说,这是一个宝贵的资源,可以帮助他们提升技能,创造出...
在本案例中,我们探讨的是如何使用HTML5与CSS结合来实现一种独特的图片切换效果——“CSS滤镜图片切换”,这是一种具有不同视觉效果的百叶窗切换特效。 首先,我们要理解HTML5中的`<img>`标签,这是用来在网页上...
首先,"cssfilter.chm"可能着重介绍了CSS滤镜,这是CSS中一种强大的特性,用于对元素的外观进行特效处理。滤镜可以改变图像的颜色、亮度、对比度、模糊程度等,甚至实现图像的透明效果。例如,`filter: blur(5px)`...
样式表滤镜中文手册(IE5.5+)是专为Internet Explorer 5.5及以上版本设计的一份技术文档,主要涵盖了微软在浏览器中实现的一种特殊效果技术——CSS滤镜。CSS滤镜允许开发者通过CSS(层叠样式表)对网页元素进行更高级...
标题中的“CSS代码使网页呈灰色”以及描述中提到的内容,主要涉及的是使用CSS滤镜技术来改变网页的整体色彩风格,使其呈现黑白或灰色调。这通常用于网站在某些特殊时期,如哀悼日,表达敬意和哀思。下面我们将详细...
在本资源中,"纯CSS3 实现的图像浸润滤镜特效源码.zip" 提供了一种利用CSS3技术来实现独特的图像处理效果——浸润滤镜特效。这种特效可以使图像看起来仿佛被水或其他液体浸润,为网页设计增添视觉吸引力。下面将详细...
CSS3滤镜提供了一系列内置的效果,如模糊、灰阶、饱和度调整等,这些效果可以通过`filter`属性轻松应用于图片或视频元素。尽管这些内置效果简单易用,但它们无法满足所有需求,特别是那些需要高度定制化或复杂算法的...
在本实例中,我们探讨的是如何使用HTML5与CSS结合,来实现一种独特的图片切换特效——“CSS滤镜图片切换”。 CSS滤镜是CSS3的一个重要特性,它允许开发者对网页元素的视觉效果进行调整,如调整颜色、对比度、模糊度...
首先,我们需要了解CSS3中的关键特性——滤镜(Filter)。滤镜是一种可以应用到任何块级元素或内联元素上的CSS样式,用于对元素的内容进行图像处理。在这个特效中,我们主要用到的是`filter`属性中的`blur()`函数,...
CSS3滤镜是通过`filter`属性实现的,它可以应用一系列效果,如模糊、灰度、饱和度、对比度、色调、亮度等。例如,要将一张图片变为黑白色调,可以使用以下代码: ```css img { filter: grayscale(100%); } ``` ...
本文将深入探讨CSS滤镜中的一个特殊例子——IE独有的AlphaImageLoader滤镜,以及如何避免使用它来优化网页性能。 AlphaImageLoader滤镜是Internet Explorer 7及更早版本为了处理PNG图像的透明度问题而引入的一个...
此外,CSS3还提供了一种更灵活的方式——`filter-function`,可以组合多个过滤器,例如: ```css element { filter: blur(5px) grayscale(50%) contrast(120%); } ``` 这里,图片不仅被模糊处理,还同时应用了50%...
本文将详细介绍如何利用CSS滤镜来实现全站变灰的效果,并探讨不同的浏览器兼容性问题以及具体的代码实现方式。 #### CSS滤镜介绍 CSS滤镜是CSS3引入的一种图形效果处理方式,它能够对HTML元素应用各种视觉效果,如...
随着技术的发展,CSS也引入了更多高级功能,比如CSS滤镜效果以及伪类选择器,这些功能为设计师提供了更为丰富的视觉表达手段。本文将详细介绍如何通过CSS实现静态滤镜效果,并结合`:hover`伪类创建交互式的动态变化...
此外,模糊滤镜(`filter: blur()`)可以使元素边缘变得模糊,增加整体的朦胧感。 3. **伪类选择器**:CSS3的伪类选择器如`:before`和`:after`可以用于在元素前后添加内容,例如,我们可以为每个水滴元素添加伪类,...