CSS3 Filter的十种特效

来源:互联网 发布:刘心武 红楼梦 知乎 编辑:程序博客网 时间:2024/06/05 00:22

最近到处看到有人在说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){}

文章出处:http://www.w3cplus.com/css3/ten-effects-with-css3-filter

0 0