使用CSS 設定複選框樣式:一個穩健的解決方案
雖然複選框存在各種CSS 樣式技術,但本次調查尋求一種更穩健的方法,使將CSS 定義的顏色疊加到灰色複選框上。當處理數量不可預測的複選框(每個複選框都需要唯一的顏色)時,這特別有用,從而無需創建過多的圖像。
解決方案涉及使用透明的 PNG 影像,其中外部為白色,內部為白色。複選框是部分透明的。然後使用 CSS 背景顏色將該圖像疊加到複選框上,從而產生彩色複選框。
要實現此方法,需要進行以下CSS、JS 和HTML 修改:
JS:
// Change all instances of '== "styled"' to '.search(...)' to handle additional classes if ((inputs[a].type == "checkbox" || inputs[a].type == "radio") && inputs[a].className.search(/^styled/) != -1) { span[a] = document.createElement("span"); // Add '+ ...' to handle additional classes on the checkbox span[a].className = inputs[a].type + inputs[a].className.replace(/^styled/, ""); }
<:>
.checkbox, .radio { width: 19px; height: 25px; padding: 0px; // Removes padding to eliminate color bleeding around image background: url(checkbox2.png) no-repeat; display: block; clear: left; float: left; } .green { background-color: green; } .red { background-color: red; }HTML:
這種方法利用了將透明影像與CSS 背景色疊加的原理來實現彩色複選框。它提供了一個強大的解決方案,可以動態地設定不同顏色的複選框樣式,而不需要大量圖像。
<p><input type="checkbox" name="1" class="styled green" /> (green)</p> <p><input type="checkbox" name="2" class="styled red" /> (red)</p> <p><input type="checkbox" name="3" class="styled purple" /> (purple)</p>
以上是如何將 CSS 顏色疊加到灰色複選框上以獲得強大的樣式解決方案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!