CSS3 checkbox開關按鈕效果
分享一段程式碼例項,它實現了利用css3 將checkbox模擬為開關按鈕效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> .switch { display: flex; align-items: center; cursor: pointer; } .switch>input { display: none; } .switch .switch-media { width: 40px; height: 25px; margin-right: 10px; padding: 5px 0; } .switch-media .switch-label { position: relative; } .switch-media .switch-label:after { content: ""; position: absolute; width: 40px; height: 22px; border: 2px solid #b9b9b9; border-radius: 10px; } .switch-media:hover .switch-label:after { border: 2px solid #009A61; } .switch-media .switch-label:before { position: absolute; content: ""; width: 18px; height: 18px; top: 4px; left: 4px; background-color: #b9b9b9; border-color: #b9b9b9; border-radius: 50%; transition: .3s ease; box-shadow: 2px 2px 2px #EBEBEB; } .switch>input:checked+.switch-media .switch-label:after { border: 2px solid #009A61; } .switch>input:checked+.switch-media .switch-label:before { left: 21px; background-color: #009A61; } </style> </head> <body> <div class="box"> <label class="switch" for="switch1"> <input type="checkbox" id="switch1" checked> <span class="switch-media"> <span class="switch-label"></span> </span> <span>螞蟻部落一</span> </label> <label class="switch" for="switch2"> <input type="checkbox" id="switch2"> <span class="switch-media"> <span class="switch-label"></span> </span> <span>螞蟻部落二</span> </label> </div> </body> </html>
上面程式碼實現了簡單的開關效果,下面介紹一下實現過程。
一.程式碼註釋:
[CSS] 純文字檢視 複製程式碼.switch { display: flex; align-items: center; cursor: pointer; }
採用flex彈性佈局,內部專案在垂直軸上居中對齊。
彈性佈局可以將內部的專案轉換為塊級內聯元素特性,所以span元素就可以設定尺寸,也可以容納其他塊級元素或者塊級內聯元素。
[CSS] 純文字檢視 複製程式碼.switch>input { display: none; }
將input元素隱藏,在視覺上看不到核取方塊,但是依然可以實現它的選中和取消選中效果。
[CSS] 純文字檢視 複製程式碼.switch .switch-media { width: 40px; height: 25px; margin-right: 10px; padding: 5px 0; }
設定對應span元素的尺寸和內外邊距。
預設span元素無法設定尺寸和上下內外邊距(內聯元素的特性);但是彈性佈局將其轉換為內聯塊級元素的特性。
[CSS] 純文字檢視 複製程式碼.switch-media>.switch-label { position: relative; }
將對應的span元素設定為相對定位,那麼它內部定位元素位移就以它為參考物件。
[CSS] 純文字檢視 複製程式碼.switch-media .switch-label:after { content: ""; position: absolute; width: 40px; height: 22px; border: 2px solid #b9b9b9; border-radius: 10px; }
通過偽元素選擇器,在尾部新增一個偽元素。
設定它的尺寸和定位方式。
這就是外部的帶有圓角效果的矩形框。
[CSS] 純文字檢視 複製程式碼.switch-media:hover .switch-label:after { border: 2px solid #009A61; }
滑鼠懸浮的時候,將圓角矩形框顏色設定為綠色。
[CSS] 純文字檢視 複製程式碼.switch-media .switch-label:before { position: absolute; content: ""; width: 18px; height: 18px; top: 4px; left: 4px; background-color: #b9b9b9; border-color: #b9b9b9; border-radius: 50%; transition: .3s ease; box-shadow: 2px 2px 2px #EBEBEB; }
通過偽類選擇器,新增一個偽元素,就是內部圓形。
然後設定它的屬性改變是通過過渡方式實現的。
[CSS] 純文字檢視 複製程式碼.switch>input:checked+.switch-media .switch-label:after { border: 2px solid #009A61; } .switch>input:checked+.switch-media .switch-label:before { left: 21px; background-color: #009A61; }
當點選實現核取方塊選中,設定對應偽元素的樣式,實現開關開啟效果。
二.相關閱讀:
(1).display: flex參閱display:flex彈性佈局一章節。
(2).align-items參閱CSS3 align-items一章節。
(3).相對定位參閱CSS position:relative 相對定位一章節。
(4).絕對定位參閱CSS position:absolute 絕對定位一章節。
(5).:after參閱CSS E::after 偽物件選擇器一章節。
(6).border-radius參閱CSS3 border-radius一章節。
(7).transition參閱CSS3 transition一章節。
(8).box-shadow參閱CSS3 box-shadow一章節。
(9).<label>參閱HTML <label> 標籤一章節。
相關文章
- CSS3滑動開關按鈕效果CSSS3
- CSS3動畫按鈕效果CSSS3動畫
- CSS3滑鼠懸浮動畫按鈕效果CSSS3動畫
- CSS3叉號按鈕效果詳解CSSS3
- CSS3滑鼠懸浮交叉線效果按鈕CSSS3
- css叉號關閉按鈕效果CSS
- checkbox樣式研究——按鈕
- CSS3提交按鈕等待打點迴圈效果CSSS3
- CSS3 radio單選按鈕美化效果CSSS3
- CSS3簡單圓角立體按鈕效果CSSS3
- CSS3模擬實現iphone返回按鈕效果CSSS3iPhone
- CSS3 checkbox美化效果CSSS3
- css3單選框、核取方塊和開關按鈕美化效果程式碼例項CSSS3
- css3實現的開關按鈕程式碼例項CSSS3
- css3實現的滑鼠懸浮按鈕動畫效果CSSS3動畫
- css3實現的美觀的提交按鈕效果CSSS3
- 美妙的 CSS3 動畫!夢幻般的按鈕效果CSSS3動畫
- css3實現button按鈕美化效果程式碼例項CSSS3
- CSS開關按鈕三例CSS
- 精選10款CSS3實現的酷炫按鈕效果CSSS3
- css立體按鈕效果CSS
- CSS 叉號按鈕效果CSS
- 按鈕滾動條效果
- css3實現的滑鼠懸浮立體動態按鈕效果CSSS3
- javascript開關按鈕程式碼例項JavaScript
- 純CSS3實現超炫酷的3D開關切換按鈕CSSS33D
- 單選按鈕美化效果程式碼
- css實現圓角按鈕效果CSS
- css3程式碼實現的滑鼠懸浮按鈕效果程式碼例項CSSS3
- Jquery實現的Switch開關按鈕(仿iOS開關)jQueryiOS
- css3將radio單選按鈕模擬為按鈕形狀CSSS3
- CSS3 3D立體按鈕CSSS33D
- 11個CSS3按鈕製作教程CSSS3
- CSS3開關門效果詳解CSSS3
- CSS3頁面開關燈效果CSSS3
- 帶燈LED按鈕開關接線方法
- 每日CSS_仿蘋果平滑開關按鈕CSS蘋果
- Qt自定義開關按鈕控制元件QT控制元件