這篇文章將為大家詳細(xì)講解有關(guān)如何使用CSS filter:hue-rotate色調(diào)旋轉(zhuǎn)濾鏡實(shí)現(xiàn)按鈕批量生產(chǎn),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
創(chuàng)新互聯(lián)是專業(yè)的武陵網(wǎng)站建設(shè)公司,武陵接單;提供網(wǎng)站制作、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行武陵網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
一、傳統(tǒng)色值按鈕
傳統(tǒng)按鈕都是通過具體色值進(jìn)行賦色的,例如下面這些按鈕和其對(duì)應(yīng)的色值(出自LuLu UI):
色值:#2486ff 色值:#01cf97 色值:#f4615c
有如下缺點(diǎn):
每種按鈕還有不同的:hover和:active顏色需要額外設(shè)置,按鈕CSS代碼量較多,出現(xiàn)顏色也很多;
如果出現(xiàn)新的狀態(tài)按鈕,例如今年流行紫色,需要一個(gè)紫色按鈕。開發(fā)同學(xué)需要求助于設(shè)計(jì)師,因?yàn)樽约哼x的紫色的亮度和飽和度往往和現(xiàn)有的按鈕不搭。
實(shí)際上,有更簡(jiǎn)單的方法按鈕賦色方法,可以規(guī)避上面的缺點(diǎn),就是使用CSS3 filter濾鏡中的hue-rotate()色調(diào)旋轉(zhuǎn)濾鏡。
二、色調(diào)旋轉(zhuǎn)濾鏡下的按鈕
實(shí)際上,我們只需要寫好一個(gè)按鈕樣式,其他各種顏色按鈕都無需再多此一舉寫一大堆CSS代碼。例如,現(xiàn)有藍(lán)色主按鈕如下:
主按鈕
下面就是我分分鐘實(shí)現(xiàn)的35個(gè)其他顏色的按鈕:
Hover并點(diǎn)擊按鈕,大家可以看到,包括:hover和:active偽類狀態(tài)也一起復(fù)制過來了。
實(shí)現(xiàn)很簡(jiǎn)單,就是給已經(jīng)實(shí)現(xiàn)的按鈕增加下面一行CSS即可:
.btn { filter: hue-rotate(60deg); }
對(duì)比示意
對(duì)比顯真章,已知寫好了一個(gè)藍(lán)色主按鈕CSS,現(xiàn)在要寫一個(gè)紅色按鈕樣式。
首先,色值法和色調(diào)法所使用HTML都是一樣的,如下:
但CSS方面的差異則就驚人了,見下表:
可以看到上面CSS代碼量的對(duì)比,左邊是你雙十一之前的錢包,右邊是你雙十一之后的錢包,是不是差異驚人的大!
可以看出色調(diào)旋轉(zhuǎn)濾鏡實(shí)現(xiàn)按鈕的優(yōu)點(diǎn)一:巨省代碼,開發(fā)巨快!
前端也會(huì)設(shè)計(jì)
通過旋轉(zhuǎn)色調(diào),我發(fā)現(xiàn)了LuLu UI原本按鈕中設(shè)計(jì)的諸多不科學(xué)的地方。
hover態(tài)不同的按鈕設(shè)計(jì)的不一致,主色按鈕hover是顏色加深,結(jié)果紅色按鈕是hover顏色減淡,失敗失敗。
從這個(gè)角度講,我們前端要比純靠視覺感受,靠取色工具在色板上點(diǎn)幾個(gè)差不多顏色的設(shè)計(jì)師要更會(huì)設(shè)計(jì)。所以,當(dāng)我們需要一個(gè)新的紫色按鈕的時(shí)候,我們自己來就好了,把色調(diào)旋轉(zhuǎn)到紫色一欄,bingo,按鈕完成!如果找設(shè)計(jì)師幫忙找顏色(包括交互狀態(tài)共3色),得,按照我這么多年合作的經(jīng)驗(yàn),飽和度和亮度100%不一致,雖然視覺上好像一致。因?yàn)榧兛恳曈X感受取色一定會(huì)存在偏差的。
這就是色調(diào)旋轉(zhuǎn)濾鏡實(shí)現(xiàn)按鈕的優(yōu)點(diǎn)二:色值更精準(zhǔn),準(zhǔn)過設(shè)計(jì)師!
三、hue-rotate濾鏡語法
hue-rotate濾鏡除了支持deg,還支持其它CSS3單位,如圈數(shù)turn以及弧度rad等。
例如:
hue-rotate(90deg) /* 90度旋轉(zhuǎn) */
hue-rotate(。5turn) /* 180度旋轉(zhuǎn) */
hue-rotate(3.142rad) /* 3.142弧度旋轉(zhuǎn),近似一圈,也就是360度 */
四、hue-rotate濾鏡與動(dòng)效
hue-rotate濾鏡還可以用來實(shí)現(xiàn)很酷的動(dòng)效,例如下面這個(gè)圖像變色的效果(GIF截屏):
實(shí)現(xiàn)代碼其實(shí)很簡(jiǎn)單:
.bird { animation: pulse 5s linear infinite; } @keyframes pulse { from { filter: hue-rotate(0); } to { filter: hue-rotate(360deg); } }
就是一個(gè)色調(diào)360度不斷旋轉(zhuǎn)。
這種動(dòng)效方法特別適合色彩豐富的圖形或圖像。
五、結(jié)語
兼容性
IE不支持,Edge13+支持,其他瀏覽器支持。
因此,本技術(shù)適用于不需要考慮兼容性的項(xiàng)目,如中后臺(tái)管理頁面,內(nèi)部項(xiàng)目,移動(dòng)端項(xiàng)目等。濾鏡玩的溜可以實(shí)現(xiàn)很多驚為天人的動(dòng)效。
以前看過一個(gè)記住反相濾鏡實(shí)現(xiàn)火焰效果的動(dòng)效,看了一會(huì)兒沒看明白,對(duì)色彩和濾鏡這塊掌握還不夠,不急,慢慢積累,總會(huì)明白的。
關(guān)于如何使用CSS filter:hue-rotate色調(diào)旋轉(zhuǎn)濾鏡實(shí)現(xiàn)按鈕批量生產(chǎn)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。