我得到了以下标记:
<div>
<p class="active"></p>
<p></p>
<p class="active"></p>
<p></p>
</div>
有一次我得到了这个标记:
<div>
<p></p>
<p></p>
<p class="active"></p>
<p></p>
</div>
现在我想设置活动类的样式,但前提是div中只有一个活动类。如果有多个活动类,则它们应该是不同的样式。类似的东西:
div .active{
color: red;
}
div .active:only-child{
color:green;
}
如果没有js有办法实现这一目标吗?只有CSS?
答案 0 :(得分:1)
直到nth-match
css选择器在主流浏览器中实现(给它几年,哈哈),据我所知,这对纯CSS来说是不可能的。
CSS3 selector :first-of-type with class name?
的类似讨论抱歉!
答案 1 :(得分:1)
不,你无法在普通的CSS中实现这一点,因为你不能从特定的选择器访问父元素,也不能根据它是否有一个具有特定类名的子元素来设置元素的样式。
您可以将辅助类名添加到父元素。类似于.has-active-items
。
答案 2 :(得分:0)