CSS3作為前端開(kāi)發(fā)的一項(xiàng)基礎(chǔ)技術(shù),其在制作頁(yè)面效果中有著舉足輕重的地位。在這其中,CSS3按鈕的設(shè)計(jì)也是非常重要的。
/* CSS3 按鈕樣式 */ .button { position: relative; display: inline-block; font-size: 16px; color: #FFFFFF; text-align: center; text-decoration: none; text-transform: uppercase; padding: 16px 32px; overflow: hidden; transition: all 0.3s ease-in-out; } /* 按鈕正常狀態(tài) */ .button:hover { background: #27AE60; color: #FFFFFF; } /* 開(kāi)關(guān)樣式 */ .switch { position: relative; display: inline-block; width: 38px; height: 16px; margin: 0 5px; background: #BDC3C7; border-radius: 20px; cursor: pointer; transition: all 0.3s; } /* 開(kāi)關(guān)滑塊 */ .slider { position: absolute; top: 0; left: 0; width: 20px; height: 20px; border-radius: 50%; background: #FFFFFF; box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.2); transition: all 0.3s; } /* 開(kāi)關(guān)關(guān)斷狀態(tài) */ .switch.off .slider { transform: translateX(-22px); } /* 開(kāi)關(guān)開(kāi)啟狀態(tài) */ .switch.on .slider { transform: translateX(22px); }
以上是一份基本的CSS3按鈕樣式設(shè)計(jì),其中我特別關(guān)注了CSS3開(kāi)關(guān)按鈕的設(shè)計(jì)。
開(kāi)關(guān)按鈕是我們?cè)诤芏嘈枰獙?shí)現(xiàn)狀態(tài)切換的情況下使用到的組件,例如音樂(lè)播放器、消息通知等用戶界面場(chǎng)景。開(kāi)關(guān)按鈕的基本要素由兩部分組成:switch
和slider
,它們分別組成了按鈕的背景和按鈕的滑塊。由于開(kāi)關(guān)按鈕只有兩個(gè)離散狀態(tài),因此需要在按鈕狀態(tài)的變化時(shí)對(duì)滑塊進(jìn)行平移,通過(guò)平移的距離來(lái)表示開(kāi)關(guān)的狀態(tài)。
細(xì)心的讀者肯定發(fā)現(xiàn)了switch.off
和switch.on
這兩個(gè)類名,它們分別表示了開(kāi)關(guān)按鈕的兩個(gè)狀態(tài)。我們只需要切換按鈕組件的類名即可改變按鈕狀態(tài),這個(gè)過(guò)程同樣需要CSS3的transition
屬性來(lái)實(shí)現(xiàn)平滑的過(guò)渡效果。
總之,CSS3開(kāi)關(guān)按鈕不僅是一種常用的用戶界面組件,而且也給我們展示了CSS3強(qiáng)大的動(dòng)畫特效。