Ofe*_*ila 5 css css-selectors less
我需要选择一个类的第n个子元素,而不要少计算一个特定类的元素。例如,给出:
li
li class =“ skip_this”
li
li
li
我想让第n个孩子在计数时跳过skip_this类,这意味着,如果我想要不是skip_this的第三个li,它将实际上选择第四个li,因为它不会使用skip_this来计数第一个。
使用:not()之类的
li:nth-child(2n):not(.skip_class){
}
Run Code Online (Sandbox Code Playgroud)
li:nth-child(2n):not(.skip_class){
}
Run Code Online (Sandbox Code Playgroud)
li:nth-child(2n):not(.skip_class){
background:green;
}Run Code Online (Sandbox Code Playgroud)
更新
我的意图是,如果我想选择不是“skip_class”的第二个孩子,它将选择第三个孩子,因为第二个孩子是“skip_class”
使用直接兄弟选择器+,例如
li:nth-child(2n):not(.skip_class), .skip_class + :not(.skip_class)
Run Code Online (Sandbox Code Playgroud)
<ul>
<li>test</li>
<li class="skip_class">test</li>
<li>test</li>
<li>test</li>
<li>test</li>
<li>test</li>
</ul>Run Code Online (Sandbox Code Playgroud)
li:nth-child(2n):not(.skip_class), .skip_class + :not(.skip_class)
Run Code Online (Sandbox Code Playgroud)
乌德帕特
明确地说,尝试以条件(类)定位一组元素而不考虑某些同级元素是行不通的,因为nth-child它将nth-of-type定位所有同级元素或相同类型的同级元素。
当您添加条件( :not(.skip_class)) 时,它独立于其他选择器( nth-child)工作
请参阅我可以将 :nth-child() 或 :nth-of-type() 与任意选择器结合使用吗?