CSS Psuedo Selector和Combinator

时间:2017-06-21 21:53:30

标签: css css3

label:before > input:not(:checked) {
   content: '';
   position: absolute;
   left: 0;
   top: 3px;
   width: 45px;
   height: 22px;
   border-radius: 23px;
   border-color: #3089cb;
}

怎么会不起作用?

1 个答案:

答案 0 :(得分:1)

你需要交换那些元素选择器才能工作,同时删除直接子选择器>并使用兄弟选择器+

input:not(:checked) + label:before {
   content: '';
   position: absolute;
   left: 0;
   top: 3px;
   width: 45px;
   height: 22px;
   border-radius: 23px;
   border-color: #3089cb;
}

这里有一个标记样本

label {
   position: relative;
}
input:not(:checked) + label:before {
   content: '';
   position: absolute;
   left: 0;
   top: 0;
   width: 45px;
   height: 22px;
   border-radius: 23px;
   background: #3089cb;
}
<input type="checkbox">
<label></label>