【发布时间】:2017-02-15 10:26:04
【问题描述】:
我正在尝试在表单上设置自定义复选框的样式;我的 HTML 看起来像这样:
<form id="contact">
<input type="checkbox" id="option1" />
<label for="option1">Option</label>
</form>
我的 CSS 看起来像这样:
form input[type="checkbox"] {
position: absolute;
left: 0;
top: 0;
opacity: 0.2;
}
form label {
padding-left: 20px;
position: relative;
}
form label:before {
content: "";
width: 20px;
height: 20px;
position: absolute;
left: -10px;
border: 1px solid #000;
}
我想在勾选复选框时添加背景颜色,所以我添加了这条规则:
input[type="checkbox"]:checked + label:before {
background-color: #ccc;
}
按照我的意愿工作,但我只需要具体说明规则才能在联系表单上工作,因此我将其更改为:
#contact input[type="checkbox"]:checked + #contact label:before {
background-color: #ccc;
}
这次不行。勾选复选框时背景不会改变。
我的问题是 CSS 有什么问题?我错过了什么?
【问题讨论】: