在CSS中组合伪选择器?

时间:2013-07-03 18:40:10

标签: css css-selectors pseudo-class

我的意思是,如果我需要,例如,悬停链接中的选定文本是红色的,我可以在CSS样式中使用以下代码吗?

.abc:hover:selection{color:red}

<a href="123" class="abc">4567890</a>

当我选择它的一部分时,当我将鼠标悬停时,该链接会变成红色吗?这种伪类的组合是否正确?

3 个答案:

答案 0 :(得分:19)

如果您正在谈论伪类,那么是的,您可以按任何顺序组合它们。

除非在这种情况下,::selection不是伪类,它是不属于CSS1或CSS2的伪元素,或者任何当前的规范。这就是“伪选择者”一词不足之处,因为它们是两个完全不同的东西。

正确的语法是:hover的单个冒号和::selection的双冒号,与伪类不同,伪元素必须始终排在最后:

.abc:hover::selection{color:red}

即使这样,由于::selection的工作方式(或不工作方式),也不能保证在浏览器中实际产生效果。

答案 1 :(得分:1)

 .container:nth-last-child(2):not(:first-child) {
    background-color: red;
 }

答案 2 :(得分:0)

是的,这是推荐的方法,请参阅关于伪类的w3c:http://www.w3.org/TR/CSS2/selector.html#dynamic-pseudo-classes

编辑:正如BoltClock所指出的,这个链接如果是CSS2,这是CSS3的文档:http://www.w3.org/TR/css3-selectors/#the-user-action-pseudo-classes-hover-act