我在无序列表中有一组列表标记,例如:
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li class="active">4</li>
<li>5</li>
<li>6</li>
</ul>
&#13;
有没有办法通过CSS在活动类之前或之后定位所有列表元素?
答案 0 :(得分:24)
您可以使用~
将所有兄弟元素定位在之后
li.active ~ li
{
color: green;
}
在CSS中,你不能在元素之前定位兄弟姐妹,所以你必须做这样的事情:
给他们一个规则:
li
{
color: orange;
}
然后覆盖活动的
li.active
{
color: red;
}
然后覆盖
之后的那些li.active ~ li
{
color: green;
}
答案 1 :(得分:1)
只是指出来,另一种方式可能是:
li:not(.active) {
/* your css rules here */
}
这将选择没有课程li
的每个.active