CSS3 美化radio單選按鈕
分享一段程式碼例項,它實現了利用CSS3美化單選按鈕的功能。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> .radio { width: 900px; padding: 3% 0%; margin: 10px auto; background-color: pink; text-align: center; } .radio label { display: inline-block; position: relative; width: 28px; height: 28px; border: 1px solid #ccc; border-radius: 100%; cursor: pointer; background-color: #fff; margin-right: 10px; overflow: hidden; } .radio label:after { content: ""; position: absolute; width: 20px; height: 20px; top: 4px; left: 4px; background-color: #666; border-radius: 50%; transform: rotate(-180deg); transform-origin: -2px 50%; transition: transform .2s ease-in; } .radio [type="radio"]:checked + label:after { transform: rotate(0); transition: transform .2s ease-out; } .radio [type="radio"] { display: none; } </style> </head> <body> <div class="radio"> <input type="radio" name="ant" id="radio-1" checked="checked"> <label for="radio-1"></label> <input type="radio" name="ant" id="radio-2"> <label for="radio-2"></label> <input type="radio" name="ant" id="radio-3"> <label for="radio-3"></label> </div> </body> </html>
上面程式碼實現美化效果,下面介紹一下實現過程。
一.程式碼註釋:
[CSS] 純文字檢視 複製程式碼.radio { width: 900px; padding: 3% 0%; margin: 10px auto; background-color: pink; text-align: center; }
整個單選按鈕的容器。
通過margin將其設定為水平居中效果。
[CSS] 純文字檢視 複製程式碼.radio label { display: inline-block; position: relative; width: 28px; height: 28px; border: 1px solid #ccc; border-radius: 100%; cursor: pointer; background-color: #fff; margin-right: 10px; overflow: hidden; }
預設情況下label元素是內聯元素,將其設定為內聯塊級元素或者塊級元素才能設定它的尺寸。
將其設定為相對定位,這樣它的定位子元素位移就以它為參考物件。
[CSS] 純文字檢視 複製程式碼.radio label:after { content: ""; position: absolute; width: 20px; height: 20px; top: 4px; left: 4px; background-color: #666; border-radius: 50%; transform: rotate(-180deg); transform-origin: -2px 50%; transition: transform .2s ease-in; }
通過偽元素選擇器為label標籤新增一個元素。
設定其為絕對定位,並且top和left屬性值分別為4px,這樣他就垂直水平在lable中居中。
transform: rotate(-180deg)將元素圍繞Z軸旋轉-180度,需要特別注意的是,它的旋轉原點發生了變化(-2px,50%),這樣元素就被隱藏在了左側。
[CSS] 純文字檢視 複製程式碼.radio [type="radio"]:checked + label:after { transform: rotate(0); transition: transform .2s ease-out; }
將選中核取方塊緊鄰的label元素中的偽元素回覆到最初的0度。
[CSS] 純文字檢視 複製程式碼.radio [type="radio"] { display: none; }
將單選按鈕隱藏,通過lable標籤和其關聯起來。
二.相關閱讀:
(1).相對定位參閱CSS position:relative 相對定位一章節。
(2).絕對定位參閱CSS position:absolute 絕對定位一章節。
(3).:after參閱CSS E::after 偽物件選擇器一章節。
(4).border-radius參閱CSS3 border-radius一章節。
(5).transform參閱CSS3 transform一章節。
(6).transform-origin參閱CSS3 transform-origin一章節。
相關文章
- HTML input radio單選按鈕HTML
- HTML input radio 單選按鈕HTML
- radio 單選按鈕 選中多個
- JQuery統一複寫美化專案中所有radio單選按鈕樣式jQuery
- 設定radio單選按鈕預設選中
- JavaScript獲取選中radio單選按鈕值JavaScript
- CSS3 checkbox核取方塊和radio單選框美化效果CSSS3
- js練習----radio name屬性定義單選按鈕組JS
- 單選多選按鈕
- 如何自定義radio按鈕的樣式
- 配置選單按鈕掃一掃
- Tkinter (11) 選單按鈕部件 Menubutton
- Tkinter (15) 單選按鈕部件 Radiobutton
- CSS3簡單圓角立體按鈕效果CSSS3
- 單選按鈕和核取方塊
- Chrome 22亮相 全新選單按鈕曝光Chrome
- CSS3動畫按鈕效果CSSS3動畫
- Tkinter (30) 選單按鈕部件 ttk.Menubutton
- Tkinter (34) 單選按鈕部件 ttk.Radiobutton
- checkbox與radio美化效果
- CSS3 checkbox開關按鈕效果CSSS3
- HTML 單選按鈕實現 (性別選擇)(解讀)HTML
- 如何使用 Bootstrap class 向按鈕新增下拉選單boot
- [開發教程] 第17講:Bootstrap單選按鈕boot
- CSS3 3D立體按鈕CSSS33D
- CSS3滑動開關按鈕效果CSSS3
- jQuery和css3超讚select下拉選單框美化外掛jQueryCSSS3
- Umi4選單欄將collapse按鈕放置底部
- CSS3滑鼠懸浮動畫按鈕效果CSSS3動畫
- Element-UI radio、radio-group、radio-button 單選框原始碼UI原始碼
- js點選按鈕劃出選單容器第一版JS
- JavaScript 點選按鈕返回底部JavaScript
- Android 點選按鈕跳轉Android
- 選單許可權和按鈕許可權設定
- CSS3提交按鈕等待打點迴圈效果CSSS3
- [Go語言寫介面]二、簡單美化視窗,設定視窗圖示,簡單美化資訊框,建立按鈕和註冊事件Go事件
- jQuery 美化select下拉選單jQuery
- 防止頁面按鈕多次點選