CSS自定義Checkbox樣式教程
Checkbox是一種常見的表單元素,但是默認的樣式通常很難滿足我們的需求。在CSS3里,我們可以通過偽元素和樣式的組合來定制Checkbox樣式,這篇文章就來詳細講解如何實現。
首先,我們需要清除Checkbox默認的樣式。
input[type=checkbox] { appearance: none; -webkit-appearance: none; -moz-appearance: none; }
上面的代碼會消除Checkbox的默認樣式,包括圓形的外觀和方框的勾選框。現在我們就可以自由的定義Checkbox的樣式了。
接下來,我們來實現一個圓圈的按鈕。假設我們的HTML代碼如下:
<label class="circular"> <input type="checkbox"> <span class="circle"></span> Label Text </label>
上面的代碼包括一個label標簽、一個Checkbox輸入框和一個圓圈(用CSS來實現)。其中,label標簽包含了以上兩個元素和文本。Checkbox輸入框被隱藏了,它的狀態由后面的圓圈元素表示。下面是樣式的代碼:
.circular { position: relative; width: 32px; height: 32px; line-height: 32px; cursor: pointer; } .circular input[type=checkbox] { position: absolute; opacity: 0; } .circle { position: absolute; top: 0; left: 0; width: 32px; height: 32px; border: 2px solid #aaa; border-radius: 50%; } .circular input[type=checkbox]:checked + .circle { background-color: #36f; }
以上代碼會讓文本“Label Text”在上面居中顯示,而圓圈則覆蓋在文本旁邊。我們使用border屬性創建圓圈的輪廓,同時使用border-radius屬性讓它成為圓形。勾選狀態下,我們用background-color屬性來改變圓圈的填充顏色。
除了圓圈,我們也可以實現其他形狀的Checkbox,例如方形或是長方形。下面的代碼會讓Checkbox變成一個長方形:
.rectangle { position: relative; width: 32px; height: 16px; line-height: 16px; cursor: pointer; } .rectangle input[type=checkbox] { position: absolute; opacity: 0; } .rect { position: absolute; top: 0; left: 0; width: 32px; height: 16px; border: 2px solid #ccc; } .rectangle input[type=checkbox]:checked + .rect { background-color: #36f; }
上面的代碼和之前的代碼只有細微的差別。我們改變了尺寸和形狀,同時注意到輸入框的隱藏和狀態CSS是相同的。
總結一下,CSS自定義Checkbox樣式是非常有用的技巧,可以讓我們更好的控制表單的外觀。如果您還想探索更多自定義樣式的技巧,建議查看更多的CSS3偽元素和選擇器。
上一篇css自定義div屬性
下一篇vue菜譜