如何更改复选框按钮的外观?

How can I change appearance of checkbox button?

我需要更改我的复选框按钮的外观,确切地说我需要放置自定义背景图像而不是常规的灰色方块。

现在我尝试了这样的事情:

[type="checkbox"] {
  width: 15px;
  height: 15px;
  background-image: url("../images/checkbox.png")
}

[type="checkbox"]:checked {
  width: 15px;
  height: 15px;
  -webkit-appearance: none;
  background-image: url("../images/checkbox-c.png")
}

它在选中时工作正常,但在闲置时它不会将背景图像更改为 checkbox.png 它仍然是简单的灰色方块。

有很多方法,通常涉及在 :checked 状态下设置复选框后的元素样式,隐藏复选框,并利用 label 的本机行为来包装结果。

label {
  position: relative; /* <-- usually handy to have for styling */
}
label input {
  display: none; /* <-- hide the default checkbox */
}
label span { /* <-- style the artificial checkbox */
  height: 10px;
  width: 10px;
  border: 1px solid grey;
  display: inline-block;
}
[type=checkbox]:checked+ span { /* <-- style its checked state */
  background: blue;
}
<label>
  <input type='checkbox'><span></span> Checkbox label</label>

好吧,我不知道为什么其他答案已被删除,但这最有可能起作用,因为它在这里对我有用:

[type="checkbox"] {
    width: 26px;
    height: 26px;
    -webkit-appearance: none; /*<----this needs to be added here.*/
    background-image: url("https://cdn1.iconfinder.com/data/icons/windows8_icons_iconpharm/26/unchecked_checkbox.png")
}
[type="checkbox"]:checked {
    width: 26px;
    height: 26px;
    -webkit-appearance: none;
    background-image: url("https://cdn1.iconfinder.com/data/icons/windows8_icons_iconpharm/26/checked_checkbox.png")
}
<input type="checkbox" />