国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

CSS filter:hue-rotate色調(diào)旋轉(zhuǎn)濾鏡實現(xiàn)按鈕批量生產(chǎn)

2024-07-11 08:41:59
字體:
供稿:網(wǎng)友

//zxx: 很多效果為CSS3濾鏡實時渲染,因此本文需要在Chrome等現(xiàn)代瀏覽器下瀏覽

一、傳統(tǒng)色值按鈕

傳統(tǒng)按鈕都是通過具體色值進行賦色的,例如下面這些按鈕和其對應(yīng)的色值(出自 LuLu UI ):

有如下缺點:

每種按鈕還有不同的 :hover 和 :active 顏色需要額外設(shè)置,按鈕CSS代碼量較多,出現(xiàn)顏色也很多;
如果出現(xiàn)新的狀態(tài)按鈕,例如今年流行紫色,需要一個紫色按鈕。開發(fā)同學(xué)需要求助于設(shè)計師,因為自己選的紫色的亮度和飽和度往往和現(xiàn)有的按鈕不搭。
實際上,有更簡單的方法按鈕賦色方法,可以規(guī)避上面的缺點,就是使用CSS3 filter濾鏡中的 hue-rotate() 色調(diào)旋轉(zhuǎn)濾鏡。

二、色調(diào)旋轉(zhuǎn)濾鏡下的按鈕

實際上,我們只需要寫好一個按鈕樣式,其他各種顏色按鈕都無需再多此一舉寫一大堆CSS代碼。例如,現(xiàn)有藍(lán)色主按鈕如下:

下面就是我分分鐘實現(xiàn)的35個其他顏色的按鈕:

Hover并點擊按鈕,大家可以看到,包括 :hover 和 :active 偽類狀態(tài)也一起復(fù)制過來了。

實現(xiàn)很簡單,就是給已經(jīng)實現(xiàn)的按鈕增加下面一行CSS即可:

.btn { filter: hue-rotate(60deg); }

對比示意

對比顯真章,已知寫好了一個藍(lán)色主按鈕CSS,現(xiàn)在要寫一個紅色按鈕樣式。

首先,色值法和色調(diào)法所使用HTML都是一樣的,如下:

<button class="ui-button ui-button-warning">紅按鈕</button>

但CSS方面的差異則就驚人了,見下表:

可以看到上面CSS代碼量的對比,左邊是你雙十一之前的錢包,右邊是你雙十一之后的錢包,是不是差異驚人的大!

可以看出色調(diào)旋轉(zhuǎn)濾鏡實現(xiàn)按鈕的優(yōu)點一: 巨省代碼,開發(fā)巨快!

前端也會設(shè)計

通過旋轉(zhuǎn)色調(diào),我發(fā)現(xiàn)了LuLu UI原本按鈕中設(shè)計的諸多不科學(xué)的地方。

綠色按鈕太亮了,顏色根本不在一個飽和度范圍內(nèi),是個失敗的取舍,這也是為什么在LuLu UI這個項目中,綠色按鈕幾乎沒怎么用的原因,看上去不搭,原來是設(shè)計師的鍋!
hover態(tài)不同的按鈕設(shè)計的不一致,主色按鈕hover是顏色加深,結(jié)果紅色按鈕是hover顏色減淡,失敗失敗。
從這個角度講,我們前端要比純靠視覺感受,靠取色工具在色板上點幾個差不多顏色的設(shè)計師要更會設(shè)計。所以,當(dāng)我們需要一個新的紫色按鈕的時候,我們自己來就好了,把色調(diào)旋轉(zhuǎn)到紫色一欄,bingo,按鈕完成!如果找設(shè)計師幫忙找顏色(包括交互狀態(tài)共3色),得,按照我這么多年合作的經(jīng)驗,飽和度和亮度100%不一致,雖然視覺上好像一致。因為純靠視覺感受取色一定會存在偏差的。

這就是色調(diào)旋轉(zhuǎn)濾鏡實現(xiàn)按鈕的優(yōu)點二: 色值更精準(zhǔn),準(zhǔn)過設(shè)計師!

三、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濾鏡與動效

hue-rotate濾鏡還可以用來實現(xiàn)很酷的動效,例如下面這個圖像變色的效果(GIF截屏):

實現(xiàn)代碼其實很簡單:

.bird {    animation: pulse 5s linear infinite;}@keyframes pulse {    from { filter: hue-rotate(0); }    to { filter: hue-rotate(360deg); }}

就是一個色調(diào)360度不斷旋轉(zhuǎn)。

眼見為實,您可以狠狠地點擊這里: CSS hue-rotate濾鏡改變圖片顏色動效demo

這種動效方法特別適合色彩豐富的圖形或圖像。

五、結(jié)語

兼容性

IE不支持,Edge13+支持,其他瀏覽器支持。

因此,本技術(shù)適用于不需要考慮兼容性的項目,如中后臺管理頁面,內(nèi)部項目,移動端項目等。

其他

濾鏡玩的溜可以實現(xiàn)很多驚為天人的動效。

以前看過一個記住反相濾鏡實現(xiàn)火焰效果的動效,看了一會兒沒看明白,對色彩和濾鏡這塊掌握還不夠,不急,慢慢積累,總會明白的。

總結(jié)

以上所述是小編給大家介紹的CSS filter:hue-rotate色調(diào)旋轉(zhuǎn)濾鏡實現(xiàn)按鈕批量生產(chǎn),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 苍溪县| 泽普县| 徐闻县| 崇信县| 蛟河市| 郎溪县| 平舆县| 万盛区| 灌南县| 昌乐县| 白城市| SHOW| 灵山县| 罗源县| 鄂托克旗| 吴忠市| 高尔夫| 永清县| 漳平市| 黄石市| 伊吾县| 滦平县| 洪洞县| 巴彦县| 肃北| 丹棱县| 桂林市| 柘荣县| 手游| 安乡县| 探索| 饶平县| 邯郸市| 古田县| 确山县| 玛曲县| 高要市| 建瓯市| 囊谦县| 涡阳县| 和政县|