我这里有一个jsfiddle - https://jsfiddle.net/5qmnptuk/4/
我试图改变自定义单选按钮。
我已经隐藏了单选按钮,然后在标签上创建了新的单选按钮。
我试图使用:选中以确定所点击的样式但不起作用
任何人都可以理解为什么这不起作用。
.form-group{
margin-top: 30px;
}
label{
cursor: pointer;
display: inline-block;
position: relative;
padding-right: 25px;
margin-right: 15px;
}
label:after{
bottom: -1px;
border: 1px solid #aaa;
border-radius: 25px;
content: "";
display: inline-block;
height: 25px;
margin-right: 25px;
position: absolute;
right: -31px;
width: 25px;
}
input[type=radio]{
display: none;
}
input[type=radio]:checked + label{
content: \2022;
color: red;
font-size: 30px;
text-align: center;
line-height: 18px;
}
答案 0 :(得分:6)
您的代码存在一些问题:
label
+
和~
CSS选择器仅在 DOM中的元素之后选择兄弟姐妹,因此您需要在标签之前输入。
要分配标签,请使用for
属性,并为输入提供ID:
<div class="form-group">
<input type="radio" id="custom" />
<label for="custom">Label</label>
</div>
input[type=radio]:checked + label{
content: \2022;
color: red;
font-size: 30px;
text-align: center;
line-height: 18px;
}
选择标签,同时:
input[type=radio]:checked + label:after{
content: "\2022";
color: red;
font-size: 30px;
text-align: center;
line-height: 18px;
}
选择after
元素
答案 1 :(得分:0)