淺談CSS3 Filter的10種特效

 

必須要說明的是,這裏的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 | <filter-function > [ <filter-function> ]*

}

 

它的默認值是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

<img title=”normal” width=”128″ height=”128″ alt=”HTML5 Logo” src=”http://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的世界吧。

           

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章