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()
filter:blur(5px)
brightness()
- 定義亮度
- 默認爲1, 1-0 逐漸變暗,1以上逐漸變亮
- 能夠是百分比, 不能爲負數
contrast()
- 定義對比度
- 1-0 逐漸變成灰黑 1以上顏色逐漸變豔麗
- 能夠是百分比, 不能爲負數
drop-shadow()
- 定義陰影效果,合成在圖像下面,
- 參數 和
shadow
, box-shadow
類似
- 和
shadow
, box-shadow
屬性不一樣之處在於經過filter,一些瀏覽器爲了提高性能會提供硬件加速。
傳參順序從左至右:
- 水平偏移距離正值右偏,負值左偏(offset-x)。
- 垂直偏移距離正值向下偏,負值上偏(offset-y)。
- 一個length值(表示距離尺寸的一種css數據格式) 值越大,越模糊陰影會變得更大更淡.) 默認爲0 (blur-radius)
- 一個length值,正值會使陰影擴張和變大,負值會是陰影縮小,默認 0
- 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()
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%)
兼容性