1. 程式人生 > 其它 >CSS3 -webkit-filter 濾鏡

CSS3 -webkit-filter 濾鏡

HTML5學堂:在早期網頁要實現圖片的色相旋轉、灰色度的變化,只能用ie的濾鏡來實現。直到CSS3出來之後,可以用filter來實現了,接下來詳細的瞭解filter的使用

語法:

選擇器 {
filter: none  |  <filter-value> [ <filter-value> ]*
}

語法分析:

屬性值的歸納

none–預設值

grayscale(value)–灰度,value:0~1;

sepia(value)–褐色,value:0~1;

saturate(value)–飽和度,value:number;

hue-rotate(value)–色相旋轉,value:angle;

invert(value)–反色,value:0~1;

opacity(value)–透明度,value:0~1;

brightness(value)–亮度,value:0~1;

contrast(value)–對比度,value:number;

blur(value)–模糊,value:length;

drop-shadow(value)–陰影value:h-shadowv-shadowblur

效果實戰練習

我們需要不斷的實戰幫助我們去加深理解,因此我們需要知道filter是如何使用的

結構程式碼

<div class="h5course">
<img src="h5course.jpg">
</div>

樣式程式碼:

.h5course {
overflow: hidden;
position: relative;
width: 500px;
height: 500px;
}
.h5course img {
width: 100%;
}
.h5course span {
position: absolute;
top: 220px;
width: 100%;
height: 60px;
line-height: 60px;
background: rgba(0,0,0,0.5);
text-align: center;
font-family: "微軟雅黑";
font-size: 40px;
font-weight: bold;
color: #fff;
z-index: 2;
}

效果如下:

基本結構已經完成,接下來我們來實現以下的幾個效果

1. 灰色度 - grayscale

樣式程式碼:

.h5course img {
width: 100%;
-webkit-filter: grayscale(1);
}

效果如下:

咱們可以發現,圖片變成灰色了。大家可以改改值,看看有什麼變化。

2.復古 - sepia

樣式程式碼:

.h5course img {
width: 100%;
-webkit-filter: sepia(1);
}

效果如下:

3. 色相旋轉 - hue-rotate

樣式程式碼

.h5course img {
width: 100%;
-webkit-filter: hue-rotate(30deg);
}

效果圖如下

咱們修改hue-rotate的角度,可以看到圖片的顏色變了。其原理是:按照色相環進行旋轉,順時針方向,紅 - 橙 - 黃 - 黃綠 - 綠 - 藍綠 - 藍 - 藍紫 - 紫 - 紫紅 - 紅)此處為疊加黃色濾鏡。

4. 陰影 - drop-shadow

程式碼樣式

.h5course {
padding: 5%;
}
.h5course img {
width: 100%;
-webkit-filter: drop-shadow(5px 5px 5px #ccc);
}

效果如下

其實圖片陰影和盒陰影是一樣的,只是drop-shadow給圖片加的。

5. 自定義效果

樣式程式碼

.h5course img {
width: 100%;
-webkit-filter: saturate(5) hue-rotate(500deg) grayscale(0.3) sepia(0.7) contrast(1.5) invert(0.2) brightness(.9);
}

效果如下

如上圖所示,我們可以知道filter是可以設定多個值的,每個值以空格隔開。

相容性:

目前來說,相容這個屬性的瀏覽器很少,只有webkit核心瀏覽器支援,因此在移動端上使用會比較廣泛