2013-07-03 76 views
9

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

.abc:hover:selection{color:red} 

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

会链接,当我选择它的一部分,变成红色的时候我将鼠标悬停它,是这样的伪类结合这一正确的语法?

+0

@大卫托马斯:我应该知道这是否正确的方式 –

+0

当有疑问时,验证。如果它没有验证,那显然是错误的。 – cimmanon

+0

@cimmanon:问很简单=) –

回答

16

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

除了这种情况,::selection不是伪类,它是一个伪元素,它不是CSS1或CSS2的一部分,或者是任何当前的规范。这就是“伪选择器”这个术语的不足之处,因为它们是两个完全不同的东西。

正确的语法是:hover和双冒号为::selection一个冒号,而不像伪类,伪元素必须总是放在最后:

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

即使如此,因为这样::selection作品(或不),它不保证实际上在浏览器中产生效果。

+0

但它可以合并,这是正确的方式。那就是我正在寻找的东西 –

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

+0

谢谢,那是我无法找到的=) –

+0

鉴于手头的问题,这显然是错误的。您链接的文档也已过时。 – BoltClock

+0

对,从来没有使用::选择,不知道它不是一个伪类。我的答案对于(真正的)伪类仍然是正确的,并且这个特定的点在CSS3中没有改变。我会用最新的文件编辑我的答案。 – Trajan