IFE糯米學院-checkbox和radio樣式的美化實現
//html部分
<body>
<p>這是一組radio按鈕</p>
<section>
<input type="radio" name="radio" id="radio1">
<label for="radio1"></label> <br/>
<input type="radio" name="radio" id="radio2">
<label for="radio2"></label>
</section>
</body>
思路一
input[type=”radio”]是可以通過了label繫結的,即點選label同樣可以選中radio
1.先隱藏radio本身,用label佔位,並把label 的背景設定為初始狀態。
2.通過input的checked狀態,重新background-position的值
input[type="radio"] {
display: none;
}
label {
width: 16px;
height: 16px;
display: inline-block;
background-image: url("img.png");
background-repeat: no-repeat;
background-position: -24px -10px;
cursor: pointer;
}
input:checked + label{
background-position: -59px -10px;
}
ps:這個的實現不是很難,但是我覺得最難得是,不是太懂ps的情況下,也不用有一些測量畫素工具的情況下,我一直在嘗試position 的具體值,然後,總結了一點點tips:
1. 把label設定為和背景圖片一樣的大小
2. 用ps測定出第一個預設狀態定位的具體距離,我用的ps的畫框工具,太初級了吧,哈哈哈,比如,這裡就測出離頂部10px,左邊24px
3. 然後設定position(是負值哦),background-position: -24px -10px;
4. 再把label的大小變成一個圖示的大小 width: 16px;height: 16px;
思路二
因為如果把label設定為了radio的位置,那麼就失去了label和input可以繫結的這個特性
所以我的思考是,用label的before元素來實現radio的佔位,然後label依舊是我們的那個label
input[type="radio"]{
display: none;
}
label:before{
content: '';
display: inline-block;
width: 16px;
height: 16px;
background-image: url("img.png");
background-repeat: no-repeat;
background-position: -24px -10px;
cursor: pointer;
}
input:checked + label:before{
background-position: -59px -10px;
}
ps:圓圈圈和文字咩有對齊,這個可以自行調整
checkbox實現,用的思路二
//html
<section class="checkbox">
<input type="checkbox" name="checkbox" id="check1" checked>
<label for="check1"> 蘋果</label><br/>
<input type="checkbox" name="checkbox" id="check2">
<label for="check2"> 香蕉</label><br/>
<input type="checkbox" name="checkbox" id="check3">
<label for="check3"> 葡萄</label>
</section>
input[type="checkbox"]{
display: none;
}
.checkbox label:before{
content: '';
display: inline-block;
width: 16px;
height: 16px;
background-image: url("img.png");
background-repeat: no-repeat;
background-position: -24px -32px;
cursor: pointer;
}
.checkbox input:checked + label:before{
background-position: -59px -32px;
}
其實是和radio一樣的實現方式,所以,可以用scss優化一下
相關文章
- 總結:如何修改美化radio、checkbox的預設樣式
- Css實現checkbox及radio樣式自定義CSS
- checkbox/radio自定義樣式
- CSS3 checkbox核取方塊和radio單選框美化效果CSSS3
- 滑鼠樣式美化
- JQuery統一複寫美化專案中所有radio單選按鈕樣式jQuery
- jQuery Validate checkbox和radio驗證jQuery
- 自定義 checkbox 樣式
- css的checkbox樣式變化CSS
- 純css3實現的超炫checkbox核取方塊和radio單選框CSSS3
- css3實現的checkbox核取方塊美化程式碼例項CSSS3
- form表單元素測試(checkbox和radio)ORM
- 網頁設計實現核取方塊(checkbox)和單選框(radio)對齊的方法網頁
- checkbox樣式研究——按鈕
- jQuery的radio,checkbox,select操作jQuery
- radio美化程式碼例項
- CSS3 checkbox美化效果CSSS3
- input[type="radio"]自定義樣式
- jQuery 獲取 radio checkbox 值jQuery
- 純css美化滾動條樣式CSS
- radio單選按鈕美化效果
- CSS 美化checkbox核取方塊CSS
- AndroidJava動態修改CheckBox樣式AndroidJava
- 實現彈框的樣式
- 部落格園美化:CSS更改滑鼠樣式CSS
- js中checkbox的全選和反選的實現JS
- 微信小程式--自定義radio元件樣式微信小程式元件
- 自定義checkbox樣式(相容IE9)IE9
- Dreamweaver 8 使用CSS樣式美化頁面(轉)CSS
- CSS3 美化radio單選按鈕CSSS3
- css3美化checkbox核取方塊CSSS3
- WPF 怎麼把checkbox改成開關樣式
- EasyUI之Form load函式IE8下設定Radio或Checkbox的BUGUIORM函式
- easyExcel多行表頭設定不同樣式和特定單元格設定樣式的實現Excel
- CSS3 radio單選按鈕美化效果CSSS3
- 如何實現特殊的邊框樣式
- 實現透明Dialog樣式的Activity
- checkbox核取方塊美化程式碼例項