CSS去掉多選框默認樣式是一個常見的需求,因為多數瀏覽器會給多選框設置一些默認樣式,而這些樣式可能并不符合我們的設計要求。下面介紹三種方法,可以幫助我們去掉多選框的默認樣式。
方法一:使用appearance屬性
input[type=checkbox] { -webkit-appearance: none; -moz-appearance: none; -o-appearance: none; appearance: none; }
該方法通過appearance屬性將多選框的默認樣式設置為none,從而去掉多選框的默認外觀。但是需要注意,這種方式在IOS上可能無效,因為IOS上的多選框外觀是由系統決定的。
方法二:使用checkbox樣式
input[type="checkbox"] { width: 20px; height: 20px; border: 1px solid #ccc; } input[type="checkbox"]:checked { background-color: #f00; }
該方法通過自定義多選框的樣式,將多選框的外觀和默認樣式進行替換,以達到去掉默認樣式的目的。這種方式可以在任何瀏覽器上生效,但是需要注意兼容性問題。
方法三:使用JavaScript
window.onload = function() { var checkboxes = document.getElementsByTagName('input'); for (var i = 0; i< checkboxes.length; i++) { if (checkboxes[i].type == 'checkbox') { checkboxes[i].style.webkitAppearance = 'none'; } } };
該方法通過JavaScript代碼,找到所有多選框元素,并將其webkitAppearance屬性設置為none,從而去掉多選框的默認樣式。該方法適用于所有瀏覽器,但是需要注意JavaScript對性能的影響。