CSS模擬美化checkbox核取方塊詳解
由於自帶的checkbox核取方塊不夠美觀,所以很多網站都需要模擬實現它。
下面就分享一段能夠實現此功能的程式碼例項,並詳細介紹一下它的實現過程。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> .checkboxC3 { width: 14px; height: 14px; position: relative; } .checkboxC3 label { width: 14px; height: 14px; cursor: pointer; position: absolute; top: 0; left: 0; background: #eae9e9; border:1px solid #bfbebe; -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; } .checkboxC3 label:after { content: ''; position: absolute; top: 1px; left: 1px; width: 10px; height: 6px; border: 2px solid #fff; border-top: none; border-right: none; background: transparent; -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); transform: rotate(-45deg); opacity: 0; } .checkboxC3 input[type=checkbox] { visibility: hidden; } .checkboxC3 input[type=checkbox]:checked + label { border-color:transparent; background: #2196f3; } .checkboxC3 input[type=checkbox]:checked + label:after { opacity:1; } </style> </head> <body> <div class="checkboxC3"> <input type="checkbox" id="remeber"> <label for="remeber"></label> </div> </body> </html>
上面的程式碼實現了模擬效果,下面介紹一下它的實現過程。
一.程式碼註釋:
[CSS] 純文字檢視 複製程式碼.checkboxC3 { width: 14px; height: 14px; position: relative; }
設定模擬核取方塊的容器元素的樣式。
採用相對定位,那麼它內部的定位元素都是以它為參考物件。
[CSS] 純文字檢視 複製程式碼.checkboxC3 label { width: 14px; height: 14px; cursor: pointer; position: absolute; top: 0; left: 0; background: #eae9e9; border:1px solid #bfbebe; -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; }
label元素和核取方塊相關聯。
預設狀態下我們看到的灰色核取方塊就是這個label元素。
將其設定為圓角狀態。
[CSS] 純文字檢視 複製程式碼.checkboxC3 label:after { content: ''; position: absolute; top: 1px; left: 1px; width: 10px; height: 6px; border: 2px solid #fff; border-top: none; border-right: none; background: transparent; -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); transform: rotate(-45deg); opacity: 0; }
這個就是我們看到的對勾效果,預設它是完全透明的,我們看不到它。
關於對勾是如何實現可以參閱css3實現對勾效果程式碼例項一章節。
[CSS] 純文字檢視 複製程式碼.checkboxC3 input[type=checkbox] { visibility: hidden; }
核取方塊是隱藏狀態,label標籤採用絕對定位會覆蓋在它上面。
[CSS] 純文字檢視 複製程式碼.checkboxC3 input[type=checkbox]:checked + label { border-color:transparent; background: #2196f3; }
點選label標籤能夠選中核取方塊,這時候label的邊框設定為透明,背景色設定為藍色。
[CSS] 純文字檢視 複製程式碼.checkboxC3 input[type=checkbox]:checked + label:after { opacity:1; }
核取方塊被選中的時候,偽元素設定為不透明,對勾就顯示出來。
二.相關閱讀:
(1).border-radius可以參閱CSS3 border-radius一章節。
(2).transform: rotate()可以參閱transform: rotate()一章節。
(3).:after可以參閱CSS E:after/E::after一章節。
(4).:checked選擇器可以參閱CSS E:checked一章節。
(5).[type=checkbox]可以參閱CSS E[att="val"]一章節。
相關文章
- CSS 美化checkbox核取方塊CSS
- css3美化checkbox核取方塊CSSS3
- CSS3 checkbox核取方塊和radio單選框美化效果CSSS3
- HTML input checkbox核取方塊HTML
- HTML input checkbox 核取方塊HTML
- checkbox 核取方塊全選程式碼
- layui獲取頁面checkbox核取方塊值UI
- JavaScript 獲取選中checkbox核取方塊的值JavaScript
- JavaScript 判斷checkbox核取方塊是否選中JavaScript
- JavaScript獲取選中checkbox核取方塊的選中值JavaScript
- jQuery核取方塊checkbox的全選和反選jQuery
- Element原始碼分析系列6-Checkbox(核取方塊)原始碼
- JavaScript核取方塊全選和全不選詳解JavaScript
- 點選文字選中或取消選中checkbox核取方塊
- Flutter 基礎控制元件篇-->單選框(Switch)、核取方塊(Checkbox)Flutter控制元件
- CSS3 checkbox美化效果CSSS3
- Android 學習筆記之單選按鈕(RadioButton)和核取方塊(CheckBox)Android筆記
- checkBox核取方塊,獲得選中那一行所有列的資料
- Android的核取方塊的詳細開發案例分析Android
- ElementUi Table核取方塊回顯UI
- 網頁設計實現核取方塊(checkbox)和單選框(radio)對齊的方法網頁
- 單選按鈕和核取方塊
- JS基礎入門篇(四)—this的使用,模擬單選框,選項卡和核取方塊JS
- JavaScript 限制核取方塊選中數目JavaScript
- 在java和Scenebuilder隱藏核取方塊JavaUI
- PyQT5 實現下拉核取方塊QT
- JavaScript 核取方塊全選和全不選JavaScript
- 對於核取方塊的快捷選擇
- 草稿 核取方塊繫結資料 1204
- 小程式核取方塊全選和全部取消
- [開發教程]第18講:Bootstrap核取方塊boot
- jquery table下的核取方塊選中、取消jQuery
- jQuery Validate限定核取方塊選中的數目jQuery
- 使用jQuery做核取方塊的全選與取消jQuery
- JavaScript刪除核取方塊選中的表格行JavaScript
- 一個數值儲存核取方塊的值
- 基礎元件:單選開關和核取方塊元件
- 二進位制運算子按位與 & 巧妙解決核取方塊的