純CSS自定義單選框樣式有很多種實現方法,本文將以常用且易懂的方法為例進行講解。
首先,我們需要隱藏原本的單選框,因為我們要自己定義樣式。需要使用以下代碼:
input[type="radio"] { display: none; }
接下來,我們可以使用偽元素::before或::after來模擬自己的單選框。以下是實現圓形單選框的示例代碼:
input[type="radio"] + label::before { content: ""; display: inline-block; width: 14px; height: 14px; border-radius: 50%; border: 1px solid #ccc; margin-right: 5px; } input[type="radio"]:checked + label::before { background-color: #36f; }
以上代碼中,::before模擬了一個圓形的單選框,并設置了外觀。當它被選中時,我們可以通過:checked偽類來改變背景顏色。
如果你想更換單選框的圖標,可以使用background-image屬性。以下是實現勾選框樣式的示例代碼:
input[type="radio"] + label::before { content: ""; display: inline-block; width: 14px; height: 14px; border: 1px solid #ccc; margin-right: 5px; background-image: url("checkmark.svg"); background-repeat: no-repeat; background-position: center center; background-size: 80%; visibility: hidden; } input[type="radio"]:checked + label::before { visibility: visible; }
在以上代碼中,我們將勾選框的圖標作為背景圖片,并用visibility屬性控制顯示狀態。
通過以上示例代碼,相信你已經可以自己定義單選框的樣式了。如果需要更多的樣式效果,可以利用CSS的各種屬性來實現。