我已經實現了一個功能來更改複選框的背景顏色,但它使刻度線變成黑色,這是我不想要的,我希望標記仍然是白色,我該如何實現這一點? p>
HTML:-
<div v-for="category in categories" :key="category.id"> <div> <input type="checkbox" class="categoryInput" @change="input()" :true-value="category.id" false-value="0" v-model="currentCategory"/> <label class="form-label">{{category.name}}</label> </div> </div>
這是函數:-
input(){ var color = JSON.parse(localStorage.getItem('coloring') || '[]').CTAButtons let collection = document.getElementsByClassName("categoryInput"); for (let i = 0; i < collection.length; i++) { collection[i].style.accentColor = color } }
這是輸出:- 背景變更成功,但刻度線改為黑色
使用 vue 的優點是建立自訂元件。所以你可以嘗試如下所示的方法。
工作StackBlitz
#您可能需要根據您的特定要求調整程式碼。
重要
將以下內容新增至您的index.html標頭
預設 HTML 複選框的刻度線顏色由瀏覽器決定,無法變更。不過,您可以建立自己的自訂複選框並根據需要設定樣式。
HTML
CSS
JSFiddle
#