用純CSS改變html radio/checkbox預設背景顏色樣式
checkbox/ radoi預設不支援更改背景顏色,這裡可以使用偽類來實現。基本原理是利用after/ before插入新的元素。然後利用新元素的背景顏色或背景圖片覆蓋掉原來的樣式。
CSS程式碼:
input[type=checkbox] { margin-right: 5px; cursor: pointer; font-size: 14px; width: 15px; height: 12px; position: relative; } input[type=checkbox]:after { position: absolute; width: 10px; height: 15px; top: 0; content: " "; background-color: #ff0000; color: #fff; display: inline-block; visibility: visible; padding: 0px 3px; border-radius: 3px; } input[type=checkbox]:checked:after { content: "✓"; font-size: 12px; } input[type=radio] { margin-right: 5px; cursor: pointer; font-size: 14px; width: 15px; height: 12px; position: relative; } input[type=radio]:after { position: absolute; width: 10px; height: 15px; top: 0; content: " "; background-color: #ff0000; color: #fff; display: inline-block; visibility: visible; padding: 0px 3px; border-radius: 50%; } input[type=radio]:checked:before { content: "✓"; display: block; position: relative; top: -2px; left: 3px; width: 6px; height: 6px; color: #fff; font-weight: 400; z-index: 1; }
HTML 示例:
<input type="checkbox" name="method" value="plus" checked>plus<br> <input type="checkbox" name="method" value="minus">minus<br> <input type="radio" name="method" value="plus">plus<br> <input type="radio" name="method" value="minus" checked>minus<br>
示例: ofollow,noindex" target="_blank" href="https://jsbin.com/wawoguq/edit?html,css,output">https://jsbin.com/wawoguq/edit?html,css,output