您的位置:首页 > Web前端 > CSS

CSS3 Filter的十种特效

2016-04-13 15:12 489 查看
最近到处看到有人在说CSS3的filter一直没有时间自己去测试这效果。今天终于抽出时间学习这个CSS3的Filter。不整不知道呀,一整才让我感到吃惊,太强大了。大家先来看个效果吧:



我想光看上面的效果就能吸引你了,要是你自己动手的话,我想您更会感到神奇。细一看,这些效果就像是photoshop整出来的一样,其实是真是这样的,有很多效果都是类似于photoshop中的特效。不过有一点大家需要特别的注意:此处的CSS3 filter和css filter完全是两样东东。更不是我们一直说的IE滤镜。具体所指的是什么?大家感兴趣的可以点击这里。我就不多说了,因为说也说不清楚,我只想和大家一起探讨的是如休整使用这个“CSS3 Filter”。那我们开始吧。

Filters主要是运用在图片上,以实现一些特效。(尽管他们也能运用于video上),不过我们在些只来讨论图片上的运用。

语法

elm {
filter: none | <filter-function > [ <filter-function> ]*
}


其默认值是none,他不具备继承性,其中filter-function一个具有以下值可选:

grayscale灰度

sepia褐色(求专业指点翻译)

saturate饱和度

hue-rotate色相旋转

invert反色

opacity透明度

brightness亮度

contrast对比度

blur模糊

drop-shadow阴影

浏览器的兼容性

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

此文章属于转载的文章写于2012年现在的现代浏览器已经都大部分支持了。

html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CSS3 Filter的十种特效</title>
<link rel="stylesheet" type="text/css" href="css/filters.css"/>
</head>
<body>
<ul>
<li>
<a href="javascript:void(0);" class="normal"><img src="images/filter_default.jpg" alt="" /><img src="images/filter_default.jpg" alt="" /></a>
<span>normal(无filter效果)</span>
<pre>-webkit-filter:none;</pre>
</li>
<li>
<a href="javascript:void(0);" class="grayscale"><img src="images/filter_default.jpg" alt="" /><img src="images/filter_default.jpg" alt="" /></a>
<span>grayscale(灰度)</span>
<pre>-webkit-filter:grayscale(1);</pre>
</li>
<li>
<a href="javascript:void(0);" class="sepia"><img src="images/filter_default.jpg" alt="" /><img src="images/filter_default.jpg" alt="" /></a>
<span>sepia(褐色)</span>
<pre>-webkit-filter:sepia(1);</pre>
</li>
<li>
<a href="javascript:void(0);" class="saturate5"><img src="images/filter_default.jpg" alt="" /><img src="images/filter_default.jpg" alt="" /></a>
<span>saturate(饱和度)</span>
<pre>-webkit-filter:saturate(.5);</pre>
</li>
<li>
<a href="javascript:void(0);" class="saturate3"><img src="images/filter_default.jpg" alt="" /><img src="images/filter_default.jpg" alt="" /></a>
<span>saturate(饱和度)</span>
<pre>-webkit-filter:saturate(3);</pre>
</li>
<li>
<a href="javascript:void(0);" class="hue-rotate"><img src="images/filter_default.jpg" alt="" /><img src="images/filter_default.jpg" alt="" /></a>
<span>hue-rotate(饱和度)</span>
<pre>-webkit-filter:hue-rotate(90deg);</pre>
</li>
<li>
<a href="javascript:void(0);" class="invert"><img src="images/filter_default.jpg" alt="" /><img src="images/filter_default.jpg" alt="" /></a>
<span>invert(反色)</span>
<pre>-webkit-filter:invert(1);</pre>
</li>
<li>
<a href="javascript:void(0);" class="opacity"><img src="images/filter_default.jpg" alt="" /><img src="images/filter_default.jpg" alt="" /></a>
<span>opacity(透明度)</span>
<pre>-webkit-filter:opacity(.2);</pre>
</li>
<li>
<a href="javascript:void(0);" class="brightness"><img src="images/filter_default.jpg" alt="" /><img src="images/filter_default.jpg" alt="" /></a>
<span>brightness(亮度)</span>
<pre>-webkit-filter:birghtness(.5);</pre>
</li>
<li>
<a href="javascript:void(0);" class="contrast"><img src="images/filter_default.jpg" alt="" /><img src="images/filter_default.jpg" alt="" /></a>
<span>contrast(对比度)</span>
<pre>-webkit-filter:contrast(2);</pre>
</li>
<li>
<a href="javascript:void(0);" class="blur"><img src="images/filter_default.jpg" alt="" /><img src="images/filter_default.jpg" alt="" /></a>
<span>blur(模糊)</span>
<pre>-webkit-filter:blur(3px);</pre>
</li>
<li>
<a href="javascript:void(0);" class="drop-shadow"><img src="images/filter_default.jpg" alt="" /><img src="images/filter_default.jpg" alt="" /></a>
<span>drop-shadow(阴影)</span>
<pre>-webkit-filter:drop-shadow(5px 5px 5px #ccc);</pre>
</li>
</ul>
</body>
</html>


css

@charset "utf-8";
*{
margin:0;
padding:0;
}
body{
background: #fff;
}
ul{
width:98%;
display:flex;
justify-content: space-between;
flex-direction: row;
flex-wrap: wrap;
padding:1%;
}
ul li{
width: 45%;
list-style-type: none;
padding:2%;
}
ul li:nth-child(2n+1){
margin-right: 1%;
}
ul li a{
display: inline-block;
transition:all linear .3s;
}
ul li img{
display: block;
float: left;
}
ul li img:nth-child(1){
width:48%;
margin-right:4%;
}
ul li img:nth-child(2){
width:48%;
}
ul li span{
display: inline-block;
width:100%;
color:#000;
padding:5px 0;
text-align: center;
}
ul li pre{
border:1px solid deepskyblue;
padding:5px 0px;
color:dodgerblue;
text-align: center;
display: block;
background: #FEFBF3;
cursor: pointer;
}
ul li a:hover img:nth-child(2){
-webkit-filter: none;

}
ul li a.grayscale img:nth-child(2){
-webkit-filter:grayscale(1);
}
ul li a.sepia img:nth-child(2){
-webkit-filter:sepia(1);
}
ul li a.saturate5 img:nth-child(2){
-webkit-filter:saturate(.5);
}
ul li a.saturate3 img:nth-child(2){
-webkit-filter:saturate(3);
}
ul li a.hue-rotate img:nth-child(2){
-webkit-filter:hue-rotate(90deg);
}
ul li a.invert img:nth-child(2){
-webkit-filter:invert(1);
}
ul li a.opacity img:nth-child(2){
-webkit-filter:opacity(.2);
}
ul li a.brightness img:nth-child(2){
-webkit-filter:brightness(.5);
}
ul li a.contrast img:nth-child(2){
-webkit-filter:contrast(2);
}
ul li a.blur img:nth-child(2){
-webkit-filter:blur(3px);
}
ul li a.drop-shadow img:nth-child(2){
-webkit-filter:drop-shadow(5px 5px 5px #ccc);
}
ul li a.grayscale img:nth-child(2){

}
ul li a.grayscale img:nth-child(2){

}
ul li a.grayscale img:nth-child(2){

}
ul li a.grayscale img:nth-child(2){

}


文章出处:/article/1214863.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: