CSS3 的濾鏡效果- filter

標籤: CSS CSS3

CSS3 在有了 filter 這個屬性後,我們就可以很簡單地透過設定來替圖片加上濾鏡效果,也就是不用每次都仰賴像 photoshop 這樣的影像繪圖軟體了。

這個屬性為 filter ,可以設定的值有以下這些

filter: none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia() | url();

各別介紹與可以給的值:

  • blur(px)- 模糊,裡面可以給的單位為 px,預設為 0,但無法使用 %
  • brightness(%)- 亮度,裡面給的值為 %,預設為 100%,超過 100% 會變亮,低於 100% 則會變暗,0%會全黑。
  • contrast(%)- 對比,裡面給的值為 %,預設為 100%,超過 100% 增加對比,低於 100% 則降低對比,0%會變灰色。
  • drop-shadow(h-shadow v-shadow blur spread color)- 跟 box-shadow 很像,第一個值為 x 軸偏移,第二個值為 y 軸偏移,blur 為模糊範圍,spread 則為陰影擴張,不一定要加也並非所有瀏覽器都支援,color 則為陰影顏色,與 box-shadow 最大的差別是可以套用在不規則形狀上。
  • grayscale(%)- 灰階,值在 0%~100% 之間,100%為完全灰階,預設為 0
  • hue-rotate(deg)- 顏色變換,預設為0,轉一圈為 360deg,顏色會在這區間內變化。
  • invert(%)- 負片效果,預設為 0,範圍在 0~100%之間,100%的時候會完全負片。
  • opacity(%)- 透明度,範圍為 0%~100%,設為 0的時候為完全透明,跟 css 的 opacity 屬性很像,但有些瀏覽器會在 filter 上有硬體加速的效果。
  • saturate(%)- 飽和度,預設為 100%,低於 100%為降低飽和度,最低為 0%,超過 100% 則會增加飽和度。
  • sepia(%)- 將顏色轉為泛黃的顏色,預設為 0%,100% 則為全轉換。
  • url()- url 可以透過 svg 指定濾鏡元素,例如:filter: url(svg-url#element-id)

以下則為實際的效果: