CSS filter 屬性

filter

  • 將模糊或者顏色偏移等圖像效果用於元素,一般用於調整圖像,背景和邊框的渲染
  • css 標準中已內置一些預約義效果的函數,也可經過url使用SVG濾鏡

語法

/* URL to SVG filter */
filter: url(filter.svg#id);

/* <filter-function> values */
filter: blur(5px);
filter: brightness(0.4);
filter: contrast(200%);
filter: drop-shadow(16px 16px 20px blue);
filter: grayscale(50%);
filter: hue-rotate(90deg);
filter: invert(75%);
filter: opacity(25%);
filter: saturate(30%);
filter: sepia(60%);

/* Multiple filters */
filter: contrast(175%) brightness(3%);

/* Global values */
filter: inherit;
filter: initial;
filter: unset;

濾鏡屬性

  • 須要設定某一函數的值。若是該值無效,函數返回「none「。

url()

  • url 函數接收一個XML文件,該文件是一個SVG filter,而且包含一個ID值 來指定哪個濾鏡
filter:url(resources.svg#c1)

blur()

  • 定義模糊度
  • 能夠接受css長度單位,不接受百分比
filter:blur(5px)

brightness()

  • 定義亮度
  • 默認爲1, 1-0 逐漸變暗,1以上逐漸變亮
  • 能夠是百分比, 不能爲負數

contrast()

  • 定義對比度
  • 1-0 逐漸變成灰黑 1以上顏色逐漸變豔麗
  • 能夠是百分比, 不能爲負數

drop-shadow()

  • 定義陰影效果,合成在圖像下面,
  • 參數 和 shadow, box-shadow 類似
  • shadow, box-shadow屬性不一樣之處在於經過filter,一些瀏覽器爲了提高性能會提供硬件加速。
    傳參順序從左至右:
    1. 水平偏移距離正值右偏,負值左偏(offset-x)。
    2. 垂直偏移距離正值向下偏,負值上偏(offset-y)。
    3. 一個length值(表示距離尺寸的一種css數據格式) 值越大,越模糊陰影會變得更大更淡.) 默認爲0 (blur-radius)
    4. 一個length值,正值會使陰影擴張和變大,負值會是陰影縮小,默認 0
    5. color 色值,在Gecko (Firefox), Presto (Opera)和Trident (Internet Explorer)中, 會應用color 屬性的值,顏色值省略,WebKit中陰影是透明的。
filter:drop-shadow(16px 16px 10px black)

grayscale()

  • 定義灰度
  • 取值0 - 1的數值之間,可設置百分比,不可爲負數
filter:grayscale(50%);

hue-rotate()

  • 定義顏色,色相旋轉調整
  • 單位 deg
  • 可爲負值
filter: hue-rotate(90deg)

invert()

  • 反向輸入圖,定義轉換比例
  • 默認0 0%和100%之間,則是效果的線性乘子。
filter: invert(100%)

opacity()

  • 轉化圖像的透明程度
  • 相似於css的opacity屬性
  • 1-0 逐漸變透明,支持百分比 ,不能爲負數
  • 和opacity屬性不一樣之處在於經過filter,一些瀏覽器爲了提高性能會提供硬件加速。
filter: opacity(50%)

saturate()

  • 定義圖像飽和度
  • 1-0 至徹底不包和,1爲正常, 1以上飽和度更高,更豔麗,支持百分比
filter:saturate(369%)

sepia()

  • 定義深褐色的色度
  • 0 - 1 逐漸變爲深褐色 支持百分比,不支持負數
filter: sepia(100%)

組合函數

  • 能夠將任意數量的函數一塊兒控制渲染,其中有一個不符合規範將所有失效
filter:sepia(100%) saturate(369%) opacity(50%)

兼容性

相關文章
相關標籤/搜索