關於無法修改CheckBox樣式的解決方案


在這里開始記錄前端的學習記錄~ 以及一些個人經驗想法神馬的~

好好奮斗啦哈哈~

 

ok,go to the point.

最近遇到要修改復選框樣式的問題,但是系統默認是無法更改到樣式的,所以就坑爹了..

網上搜到有許多解決方法,其中大部分都是模擬checkbox以實現自己想要的效果

從各種解決方法中選了一個自己覺得最妥當的解決方法,下面是我最終采用的方法:

  設置復選框為完全透明,修改label樣式代替復選框。

之所以選擇這種方法,主要還是因為label可以關聯上復選框,同時可以調出所需要的樣式效果並顯示出來。

話不多說post代碼+效果~

 1 CSS代碼:  2   /*CheckBox樣式*/
 3   .comList_checkbox
 4   {
 5       opacity:0;
 6   }
 7   /*label樣式*/
 8   .comList_forCheckbox
 9   {
10       width:20px;height:20px;
11       color:Red;cursor:pointer;
12       text-align:center;
13       font:bold 20px/100% '宋體';
14       display:inline-block;
15       border-radius:.2em;
16       -webkit-box-shadow:inset .08em .08em .1em #000;
17       background-color:#fff;
18   }
1 HTML代碼:
2   <label id="formyCheckBox" for="modeCheckBox" onclick="changeCheckbox()" class="comList_forCheckbox"></label>
3   <input type="checkbox" id="myCheckBox" class="comList_checkbox" />
1 function changeCheckbox() {
2     var mylabel = document.getElementById('formyCheckBox');
3     if (mylabel.innerHTML == "√")
4        mylabel.innerHTML = "";
5     else
6        mylabel.innerHTML = "√";
7 }

 

另外:

  如果通過css設置了復選框的大小,雖然外觀上復選框的樣式不變,但實際上他的觸發范圍會變大了,大家有空可以試試。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM