html: <div> <input id="item1" type="radio" name="item" value="選項一" checked> <label for="item1"></label> <span>選項一</span> </div> <div> <input id="item2" type="radio" name="item" value="選項二"> <label for="item2"></label> <span>選項二</span> </div> css: div { position: relative; line-height: 30px; } input[type="radio"] { width: 20px; height: 20px; opacity: 0; } label { position: absolute; left: 5px; top: 3px; width: 20px; height: 20px; border-radius: 50%; border: 1px solid #999;
cursor: pointer; } /*設置選中的input的樣式*/ /* + 是兄弟選擇器,獲取選中后的label元素*/ input:checked+label { background-color: #fe6d32; border: 1px solid #fe6d32; } /*添加的加號與label進行拼接(一個矩形邊框去掉上和左的邊框),再旋轉45度*/ input:checked+label::after { position: absolute; content: ""; width: 5px; height: 10px; top: 3px; left: 6px; border: 2px solid #fff; border-top: none; border-left: none; transform: rotate(45deg);
js:獲取到checked的狀態
$('#item1').click(function(){ console.log($(this).prop('checked')) })