前文中我們對css超炫加載動畫設(shè)計、實現(xiàn)與實例進行了講解與說明,通過學(xué)習(xí)可知使用CSS提供的animation屬性及偽元素等可以實現(xiàn)精美的CSS動畫效果的設(shè)計與開發(fā)。本文我們將繼續(xù)介紹CSS在Web頁面元素設(shè)計中的應(yīng)用。
純CSS實現(xiàn)開關(guān)元素設(shè)計
按鈕開關(guān)設(shè)計要求及效果
本例我們使用CSS完成開關(guān)的設(shè)計,主要要求是在點擊開關(guān)時開關(guān)標(biāo)識顏色需要改變,另外需要體現(xiàn)出元素點擊前與點擊后的動態(tài)變化與立體效果。本例最終設(shè)計呈現(xiàn)效果描述如下圖所示:
開關(guān)按鈕實現(xiàn)效果展示
設(shè)計思路與語法說明
要實現(xiàn)如上圖所示的開關(guān)按鈕效果,需要針對元素改變鼠標(biāo)點擊前后的CSS樣式,因為只使用CSS實現(xiàn),我們選擇本身具有點擊屬性的INPUT元素。因此還需要考慮對INPUT元素外觀進行設(shè)置,其設(shè)置也主要是依托于CSS選擇器及相關(guān)屬性的設(shè)置。
CSS選擇器及屬性設(shè)置
另一方面本例中出現(xiàn)的開關(guān)標(biāo)志,主要使用第三方字體庫提供的圖標(biāo)實現(xiàn),因此需要對font相關(guān)屬性及CSS外部link方法有所學(xué)習(xí)掌握。本例所使用字體如下所示:
字體圖標(biāo)
在明確基本思路之后,我們可以使用submine進行代碼編寫,主要編寫步驟如下:
1、鏈接字體樣式
本例使用如上圖所示提供的on圖標(biāo),即Font Awesome圖標(biāo)字體庫和CSS框架,因此需要外部鏈接或者下載相應(yīng)CSS文件,這里我們選擇外部鏈接,通過使用CSS提供的link,實現(xiàn)代碼如下:
字體鏈接
鏈接完成之后我們在設(shè)置字體時可直接使用FontAwesome字體,其中on圖標(biāo)對應(yīng)的編碼為f011。
2、定義頁面內(nèi)容
本例頁面內(nèi)容主要使用input元素checkbox屬性進行按鈕設(shè)置。因此頁面內(nèi)容部分定義如下所示:
頁面主體部分
3、定義checkbox樣式
在完成頁面元素添加之后就需要對頁面元素進行CSS樣式的設(shè)置,本例通過元素加type屬性作為選擇器,選擇指定元素并進行樣式設(shè)置。代碼如下:
checkbox屬性設(shè)置
checkbox屬性設(shè)置描述如上圖所示,設(shè)置效果如下:
checkbox屬性效果
4、input添加checked、after等樣式
為進一步實現(xiàn)點擊效果切換及圖標(biāo)按鈕的效果,需要對check狀態(tài)及after偽元素進行CSS樣式的設(shè)置。其中after為元素主要用于在上圖中添加on開關(guān)圖標(biāo)。實現(xiàn)代碼描述如下:
after偽元素選擇器及樣式設(shè)置
after偽元素選擇器及樣式設(shè)置如上圖所示,主要完成content內(nèi)容即on圖標(biāo)設(shè)置,字體選擇、字體顏色及字體大小設(shè)置,設(shè)置完成預(yù)覽效果如下:
after為元素設(shè)置效果
要實現(xiàn)點擊效果就需要在點擊之后對input元素樣式進行設(shè)置,因此我們使用checked作為選擇器對該狀態(tài)下input樣式進行設(shè)置。設(shè)置代碼如下所示:
checked狀態(tài)CSS設(shè)置
checked狀態(tài)CSS設(shè)置如上圖所示,我們只對box-shadow陰影進行設(shè)置,通過陰影變化實現(xiàn)按鈕動態(tài)效果。
5、點擊之后on圖標(biāo)顏色變化
點擊之后on圖標(biāo)顏色變化主要通過對input[type="checkbox"]:checked,進一步使用after偽元素定義字體顏色實現(xiàn)。實現(xiàn)代碼如下所示:
on圖標(biāo)(字體)顏色改變
通過使用該選擇器,會在input點擊之后,on字體顏色變?yōu)榧t色。以上給出了input按鈕效果實現(xiàn)的基本思路與部分核心實現(xiàn)代碼。如需完整案例代碼請關(guān)注并私信作者。
本頭條號長期關(guān)注編程資訊分享;編程課程、素材、代碼分享及編程培訓(xùn)。如果您對以上方面有興趣或代碼錯誤、建議與意見,可在評論區(qū)回復(fù)。更多程序設(shè)計相關(guān)教程及實例分享,期待大家關(guān)注與閱讀!






