CSS3滤镜

当WEB开发全面进入HTML5+CSS3时代之后,越来越多的人采用CSS3的最新特性来或多或少地代替过去只能使用JS或者图片才能实现的交互效果与图形特效,以达到优化网站从而提高用户体验的目的。在该篇文章中,我们着重研究一下CSS3其中一个极其华丽的图片处理特性——CSS3滤镜
CSS3滤镜是从SVG衍生出来的一个非常有趣的分支,它允许你对HTML的图片进行模糊处理、亮度调整等极其丰富的图形效果处理,让我们一起领略一下吧!

 

如何使用CSS3滤镜
在CSS代码中使用Filter属性便能达到滤镜的效果,写法如下:
fitler: filter(value);
正如你所期望的,这些滤镜效果原本应该在每个浏览器中都能使用,所以会自然地加上前缀,不过遗憾的是目前除了webkit内核的浏览器(Chrome、Safari)之外,其他浏览器暂时不能很好地支持滤镜,但这样写总是一个好习惯:
-webkit-filter: filter(value); -moz-filter: filter(value); -o-filter: filter(value); -ms-filter: filter(value);
除此之外,如果想要混合两种滤镜效果,那么可以这么写:
filter: blur(5px) brightness(0.5);           //同时使用了模糊和亮度调节两个滤镜

 

CSS3滤镜实例分析

 

我们采用一张未经处理的图片作为案例,同时在分析每一种滤镜的时候,我们会将已经使用PS处理好的滤镜图片(上图)与使用CSS3滤镜处理好的图片(下图)进行比较。你会惊奇地发现,在支持CSS3滤镜的浏览器下(目前只有webkit内核浏览器),你根本无法区分它们!

 

1.CSS3模糊滤镜

曾经想过使用CSS来动态调节图片或者文字的模糊度?有了CSS3滤镜之后你就能做到!模糊滤镜是采用像素进行计算的,所以你的书写方式可以参考以下代码:
filter: blur(5px); // 区分浏览器 -webkit-filter: blur(5px); -moz-filter: blur(5px); -o-filter: blur(5px); -ms-filter: blur(5px);

 

2.CSS3亮度滤镜

亮度滤镜的数值1是正常状态,0~1之间的数值降低亮度,>1的数值则会增加图片亮度,参考写法如下:
filter: brightness(1.3); // 区分浏览器 -webkit-filter: brightness(1.3); -moz-filter: brightness(1.3); -o-filter: brightness(1.3); -ms-filter: brightness(1.3);

 

3.CSS3饱和度滤镜

饱和度滤镜的数值为百分比,参考写法如下:
filter: saturate(50%); // 区分浏览器 -webkit-filter: saturate(50%); -moz-filter: saturate(50%); -o-filter: saturate(50%); -ms-filter: saturate(50%);

 

4.CSS3色相滤镜

这是一个非常棒的滤镜,因为它允许你通过旋转图片来进行色相的改变。该数值通过角度来进行调节,参考写法如下:
filter: hue-rotate(20deg); // 区分浏览器 -webkit-filter: hue-rotate(20deg); -moz-filter: hue-rotate(20deg); -o-filter: hue-rotate(20deg); -ms-filter: hue-rotate(20deg);

 

5.CSS3对比度滤镜

该属性也采用百分比来调节,如果百分比为0,则整张图片会变成完全的灰色,所以最好采用大于100%的数值来达到增加对比度的效果,参考写法:
filter: contrast(150%); // 区分浏览器 -webkit-filter: contrast(150%); -moz-filter: contrast(150%); -o-filter: contrast(150%); -ms-filter: contrast(150%);

 

6.CSS3反相滤镜

采用100%来达到反相的效果,其他数值有所偏差,参考写法如下:
filter: invert(100%); // 区分浏览器 -webkit-filter: invert(100%); -moz-filter: invert(100%); -o-filter: invert(100%); -ms-filter: invert(100%);

 

7.CSS3灰度滤镜

同样,使用100%的数值达到灰度的效果,其他数值会有所偏差,参考写法如下:
filter: grayscale(100%); // 区分浏览器 -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -o-filter: grayscale(100%); -ms-filter: grayscale(100%);

 

8.CSS3复古滤镜

复古滤镜是一个非常具有艺术感觉的滤镜效果,使用起来也相当方便,同样采用100%的数值达到最好效果。参考写法如下:
filter: sepia(100%); // 区分浏览器 -webkit-filter: sepia(100%); -moz-filter: sepia(100%); -o-filter: sepia(100%); -ms-filter: sepia(100%);

以上就是所有好用简单的CSS3滤镜效果,不过最后还是需要提醒一下大家,这些滤镜目前只能在webkit内核的浏览器下有效,期待其他内核浏览器同样兼容的那一天,赶紧在你的网站建设项目中使用起来吧。