微信小程序 CSS filter(濾鏡)的使用示例詳解

之前在看七月老師的視頻的時(shí)候,看到了有一個(gè)樣式是 -webkit-filter ,不知道是什么(我沒咋學(xué)過CSS,嘿嘿,所以不知道是啥),于是查了一下,原來是濾鏡吖。但是在微信小程序里使用的時(shí)候,下面一直飄紅線,再仔細(xì)查了一下,原來是在 Chrome, Safari 中使用 -webkit-filter ,還有 -moz-filter (適配Firefox), -o-filter (適配Opera), -ms-filter (適配ie)而微信小程序里使用的話,使用 filter 就可以了。一時(shí)間好奇了下,就多試了幾個(gè)函數(shù),以下是詳細(xì)的筆記
定義
filter 屬性定義了元素(通常是)的可視效果(例如:模糊與飽和度)。
分類
- none 默認(rèn)值,沒有效果。
- blur() 高斯模糊
- brightness() 亮度
- contrast() 對(duì)比度
- drop-shadow() 陰影
- grayscale() 灰度
- hue-rotate() 色相旋轉(zhuǎn)
- invert() 反色
- opacity() 透明度
- saturate() 飽和度
- sepia() 復(fù)古色
- url() SVG濾鏡
- 復(fù)合函數(shù) 多個(gè)濾鏡組合使用
使用
提示:濾鏡通常使用百分比 (如:75%), 當(dāng)然也可以使用小數(shù)來表示 (如:0.75)。
blur
高斯模糊:blur(radius),給圖像設(shè)置高斯模糊。"radius"一值設(shè)定高斯函數(shù)的標(biāo)準(zhǔn)差,或者是屏幕上以多少像素融在一起, 所以值越大越模糊; 如果沒有設(shè)定值,則默認(rèn)是0;這個(gè)參數(shù)可設(shè)置css長(zhǎng)度值,但不接受百分比值。
filter: blur(18px);
brightness
亮度:給圖片應(yīng)用一種線性乘法,使其看起來更亮或更暗。如果值是0%,圖像會(huì)全黑。值是100%,則圖像無(wú)變化。其他的值對(duì)應(yīng)線性乘數(shù)效果。值超過100%也是可以的,圖像會(huì)比原來更亮。如果沒有設(shè)定值,默認(rèn)是1。
filter: brightness(70%);
contrast
對(duì)比度:調(diào)整圖像的對(duì)比度。值是0%的話,圖像會(huì)全黑。值是100%,圖像不變。值可以超過100%,意味著會(huì)運(yùn)用更低的對(duì)比。若沒有設(shè)置值,默認(rèn)是1。
filter: contrast(50%);
drop-shadow
給圖像設(shè)置一個(gè)陰影效果。陰影是合成在圖像下面,可以有模糊度的,可以以特定顏色畫出的遮罩圖的偏移版本。 函數(shù)接受 (在CSS3背景中定義)類型的值,除了"inset"關(guān)鍵字是不允許的。該函數(shù)與已有的box-shadow box-shadow屬性很相似;不同之處在于,通過濾鏡,一些瀏覽器為了更好的性能會(huì)提供硬件加速。 參數(shù)如下:
(必須) 這是設(shè)置陰影偏移量的兩個(gè) 值. 設(shè)定水平方向距離. 負(fù)值會(huì)使陰影出現(xiàn)在元素左邊. 設(shè)定垂直距離.負(fù)值會(huì)使陰影出現(xiàn)在元素上方。查看可能的單位. 如果兩個(gè)值都是0, 則陰影出現(xiàn)在元素正后面 (如果設(shè)置了 and/or ,會(huì)有模糊效果). (可選) 這是第三個(gè)code>值. 值越大,越模糊,則陰影會(huì)變得更大更淡.不允許負(fù)值 若未設(shè)定,默認(rèn)是0 (則陰影的邊界很銳利). (可選) 這是第四個(gè) 值. 正值會(huì)使陰影擴(kuò)張和變大,負(fù)值會(huì)是陰影縮小.若未設(shè)定,默認(rèn)是0 (陰影會(huì)與元素一樣大小). 注意: Webkit, 以及一些其他瀏覽器 不支持第四個(gè)長(zhǎng)度,如果加了也不會(huì)渲染。
(可選) 查看 該值可能的關(guān)鍵字和標(biāo)記。若未設(shè)定,顏色值基于瀏覽器。在Gecko (Firefox), Presto (Opera)和Trident (Internet Explorer)中, 會(huì)應(yīng)用colorcolor屬性的值。另外, 如果顏色值省略,WebKit中陰影是透明的。
filter: drop-shadow(15rpx 15rpx 10rpx #999999);
grayscale
grayscale(100%)為黑白色。
灰度:將圖像轉(zhuǎn)換為灰度圖像。值定義轉(zhuǎn)換的比例。值為100%則完全轉(zhuǎn)為灰度圖像,值為0%圖像無(wú)變化。值在0%到100%之間,則是效果的線性乘子。若未設(shè)置,值默認(rèn)是0;
filter: grayscale(60%);
hue-rotate
色相:給圖像應(yīng)用色相旋轉(zhuǎn)。"angle"一值設(shè)定圖像會(huì)被調(diào)整的色環(huán)角度值。值為0deg,則圖像無(wú)變化。若值未設(shè)置,默認(rèn)值是0deg。該值雖然沒有最大值,超過360deg的值相當(dāng)于又繞一圈。
filter: hue-rotate(90deg);
invert
反相:反轉(zhuǎn)輸入圖像。值定義轉(zhuǎn)換的比例。100%的價(jià)值是完全反轉(zhuǎn)。值為0%則圖像無(wú)變化。值在0%和100%之間,則是效果的線性乘子。 若值未設(shè)置,值默認(rèn)是0。
filter: invert(0.8);
opacity
透明度:轉(zhuǎn)化圖像的透明程度。值定義轉(zhuǎn)換的比例。值為0%則是完全透明,值為100%則圖像無(wú)變化。值在0%和100%之間,則是效果的線性乘子,也相當(dāng)于圖像樣本乘以數(shù)量。 若值未設(shè)置,值默認(rèn)是1。該函數(shù)與已有的opacity屬性很相似,不同之處在于通過filter,一些瀏覽器為了提升性能會(huì)提供硬件加速。
filter: opacity(20%);
saturate
飽和度:轉(zhuǎn)換圖像飽和度。值定義轉(zhuǎn)換的比例。值為0%則是完全不飽和,值為100%則圖像無(wú)變化。其他值,則是效果的線性乘子。超過100%的值是允許的,則有更高的飽和度。 若值未設(shè)置,值默認(rèn)是1。
filter: saturate(0%);
sepia
褐色:復(fù)古色 將圖像轉(zhuǎn)換為深褐色。值定義轉(zhuǎn)換的比例。值為100%則完全是深褐色的,值為0%圖像無(wú)變化。值在0%到100%之間,則是效果的線性乘子。若未設(shè)置,值默認(rèn)是0;
filter: sepia(70%);
url
新建一個(gè)文本文件 filter.txt ,內(nèi)容如下
<svg xmlns="http://www.w3.org/2000/svg"> <defs> <filter id="filter-primitives"> <feGaussianBlur stdDeviation="3" /> <feColorMatrix type="hueRotate" values="270"/> <feColorMatrix type="saturate" values="0.75"/> <feBlend mode="multiply"/> </filter> </defs> </svg>
將文件后綴修改為 .svg
在代碼中引用該svg文件
<!--filter:url('svg的路徑#element-id')--> style="filter:url('../../images/filters.svg#filter-primitives')"
復(fù)合函數(shù)
復(fù)合函數(shù)中,多個(gè)濾鏡使用空格分開。注意: 順序是非常重要的 (例如使用 grayscale() 后再使用 sepia()將產(chǎn)生一個(gè)完整的灰度圖片)。
filter: saturate(0%) drop-shadow(15rpx 15rpx 10rpx #999999);
總結(jié)
以上所述是小編給大家介紹的微信小程序 CSS filter(濾鏡)的使用示例詳解,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
- 這篇文章主要介紹了詳解CSS3中強(qiáng)大的filter(濾鏡)屬性的相關(guān)資料,需要的朋友可以參考下2017-06-29
詳解CSS透明opacity和IE各版本透明度濾鏡filter的最準(zhǔn)確用法
CSS3的透明度屬性opacity想必大家都已經(jīng)用的無(wú)處不在了。而對(duì)于不支持CSS3的瀏覽器如何進(jìn)行透明處理,保持瀏覽器效果的一致,本篇文章主要介紹了詳解CSS透明opacity和IE各版2016-12-20CSS3+Filter實(shí)現(xiàn)的圖片濾鏡特效源碼
CSS3+Filter實(shí)現(xiàn)的圖片濾鏡特效源碼是一段可以顯示出10款不同濾鏡效果的代碼,是一款基于css3 filter濾鏡屬性制作的圖片美化特效,本段代碼適應(yīng)于所有網(wǎng)頁(yè)使用,有需要的伙2016-12-08使用CSS3濾鏡的filter:blur屬性制作毛玻璃模糊效果的方法
CSS3的blur屬性可以將圖片加上模糊濾鏡的效果,下面我們就來詳細(xì)看一下使用CSS3濾鏡的filter:blur屬性制作毛玻璃模糊效果的方法,需要的朋友可以參考下2016-07-08CSS中filter濾鏡的學(xué)習(xí)筆記(靜態(tài)濾鏡及動(dòng)態(tài)濾鏡)
本節(jié)為大家介紹了CSS中filter濾鏡,包括靜態(tài)濾鏡及動(dòng)態(tài)濾鏡的使用方法,不了解的朋友可以參考下2014-08-08使用Filters濾鏡彌補(bǔ)CSS3的跨瀏覽器問題以及兼容低版本IE
跨瀏覽器兼容性是網(wǎng)頁(yè)制作永恒的難題,所以在未來一段時(shí)間里,樣式表里的-moz-,-webkit-,(-ms-,-o-)等等前綴將長(zhǎng)期存在,除了考慮各家瀏覽器之間的兼容性外,我們還有必要2013-01-23CSS3 濾鏡 webkit-filter詳細(xì)介紹及使用方法
CSS3 開始也有濾鏡(不是 IE 的那種濾鏡),這些濾鏡效果最初是用于 SVG 的,W3C 將其引入到 CSS3 中,然后制定了 CSS Filter Effects 1.0 的規(guī)范,Webkit 率先支持了它,需2012-12-27- 前些天在做一個(gè)項(xiàng)目的時(shí)候,用到了陰影,陰影是個(gè)方向都有的,今天看到bricss說到filter:drop-shadow頓時(shí)豁然開朗,現(xiàn)整理了,需要的朋友可以參考下2012-12-12
CSS filter:hue-rotate色調(diào)旋轉(zhuǎn)濾鏡實(shí)現(xiàn)按鈕批量生產(chǎn)
這篇文章主要介紹了CSS filter:hue-rotate色調(diào)旋轉(zhuǎn)濾鏡實(shí)現(xiàn)按鈕批量生產(chǎn)的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-18