更改checkbox的默認樣式


最近做一個vue項目要用到checkbox要修改默認樣式,選中是純白色,不選擇只有白色邊框,起初以為很容易,沒想到還折騰了一翻,記錄一下。

幾經折騰,理清input 和label的關系

最終改進版本,將復選框隱藏,利用label元素的焦點傳遞特性,用label的樣式替代復選框。這應該是最簡版了,可以隨意改樣式了。

貼上代碼:

   <div class="container">

<input type="checkbox" value=""  @change="bindProductCheck1" v-model="ckeckVal"
id="checkbox-p1" style="display: none;">
<label for="checkbox-p1"></label>
</div>

.container{
display:flex;
}
#checkbox-p1 + label {
width:44px;
height:44px;
box-sizing: border-box;
border-radius: 22px;
border: 4px solid #fff;
}

#checkbox-p1:checked + label {
background-color: #ffffff;
}
所以了解底層原理就沒那么容易被坑了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM