当前位置:  开发笔记 > 编程语言 > 正文

浅谈CSS3Filter的10种特效

必须要说明的是,这里的CSS3Filter与我们所熟悉的CSSFilter是完全不同的两个概念,也不是我们所熟悉的IE滤镜,它是指通过CSS或SVG渲染元素概念可以描述的元素,包括它的子元素。关于CSS3Filter的具体解释您...">

 

必须要说明的是,这里的CSS3 Filter与我们所熟悉的CSS Filter是完全不同的两个概念,也不是我们所熟悉的IE滤镜,它是指通过CSS或SVG渲染元素概念可以描述的元素,包括它的子元素。

关于CSS3 Filter的具体解释您可以参考《Filter Effects 1.0》这篇文章。

接下来我们就开始探讨如何使用CSS3 Filter实现我们想要的效果。

首先,我们介绍一下Filters的使用:Filters主要是运用在图片上,以实现一些特效(尽管他们也能运用于video上)。但是,我们主要讨论的是Filter图片上的运用。

再来,介绍一下Filters的语法:Filters使用时候的语法非常简单,例如:

 

1
2
3
elm {
filter: none | [ ]*
}

 

它的默认值是none,且不具备继承性。其中filter-function具有以下可选值:

1、grayscale灰度

2、sepia褐色

3、saturate饱和度

4、hue-rotate色相旋转

5、invert反色

6、opacity透明度

7、brightness亮度

8、contrast对比度

9、blur模糊

10、drop-shadow阴影

最后,谈一谈Filters在浏览器中的兼容性:

目前支持这个属性的浏览器少得可怜,现在只有webkit支持,而且只有webkit nightly版本和Chrome 18.0.976以上以上版本才支持,所以说,你要是想看到效果就需要下载这两个版本中的一个。

下面我们一起来见证这些效果的实现过程,首先在页面中应该有一张图片:

 

1
”HTML5http://www.php100.com/uploadfile/2012/1030/20121030080410580.jpg” />

将图片取名为“normal”,表示此图没有任何“filter”效果,接着在效果实现的过程中,我们依次将其类名改成对应的效果名。

 

一、grayscale灰度

使用这个特效,会把图片变成灰色,也就是说你的图片将只有两种颜色——“黑色”和“白色”。

 

1
2
3
.grayscale{
-webkit-filter:grayscale(1);
}

 

默认值:100%。

如果你在grayscale()中没有任何参数值,默认的将会以“100%”渲染。其效果下图所示:

\

二、sepia

sepia译为“褐色”,使用这种特效,会将你的图片复古成黑白老照片。

 

1
2
3
.sepia{
-webkit-filter:sepia(1);
}

 

默认值:100%。

如果你在sepia()中没有任参数值,默认将会以“100%”渲染,具体效果如下图所示:

\

三、saturate饱和度

saturat的作用是用来改变图片的饱和度。

 

1
2
3
.saturate{
-webkit-filter:saturate(0.5);
}

默认值:100%。

 

\

如果我们将其值变大到300%,那么效果将如下图所示:

 

1
2
3
.saturate{
-webkit-filter:saturate(3);
}

\

 

四、hue-rotate色相旋转

hue-rotate的作用用来改变图片的色相。

 

1
2
3
.hue-rotate{
-webkit-filter:hue-rotate(90deg);
}

默认值:0deg。

 

\

五、invert反色

invert做出来的效果就像是我们照相机底面的效果一样。

 

1
2
3
.invert{
-webkit-filter:invert(1);
}

默认值:100%。

 

\

六、opacity透明度

opacity的作用是改变图片的透明度。

 

1
2
3
.opacity{
-webkit-filter:opacity(.2);
}

默认值:100%。

 

\

七、brightness亮度

brightness的作用是改变图片的亮度。

 

1
2
3
.brightness{
-webkit-filter:brightness(.5);
}

默认值:100%。

 

\

八、contrast对比度

contrast的作用是改变图片的对比度,学习过photoshop的,应该都知道。

 

1
2
3
.contrast{
-webkit-filter:contrast(2);
}

默认值:100%。

 

\

九、blur模糊

blurt的作用是改变图片的清晰度。

 

1
2
3
.blur{
-webkit-filter:blur(3px);
}

默认值:0。

 

\

十、drop-shadow阴影

drop-shadow的效果类似于box-shadow,作用是给图片加阴影效果。

 

1
2
3
.drop-shadow{
-webkit-filter:drop-shadow(5px 5px 5px #ccc);
}

\

 

以上所列出的就是CSS3 Filter能够实现的10种效果,当然,如果你需要什么样的效果还得自己设定。

例如:

 

1
2
3
.custom{
-webkit-filter:saturate(5) hue-rotate(500deg) grayscale(0.3) sepia(0.7) contrast(1.5) invert(0.2) brightness(.9);
}

\

 

其实大家仔细一看,这些效果就像是photoshop做出来的一样,CSS3 Filter能够实现的很多效果都是类似于photoshop中的某种特效。但是,大家想一想不需要自己用photoshop去做效果,几句简简单单的 CSS3代码就能够实现这样的效果是不是很炫?

不光光是Filter,CSS3只用代码就能够实现的效果还有很多很多,是不是觉得很期待?不用图片,不用Javascript,几句简简单单的CSS3代码就能实现以前不敢想的效果,还等什么?赶快进入CSS3的世界吧。


推荐阅读
author-avatar
挖墙找红杏000
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有