2013-07-03 11 views
9

Chodzi mi o to, że jeśli potrzebuję, na przykład, zaznaczony tekst w ukrytym linku powinien być czerwony, czy mogę użyć następującego kodu w stylu CSS?Łączenie Pseudo-selektorów w CSS?

.abc:hover:selection{color:red} 

i

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

Czy ten link po zaznaczeniu części, stają się czerwone kolorowych kiedy unoszą go i to jest poprawna składnia Pseudoklasy takie połączenie?

+0

@ David Thomas: Powinienem wiedzieć, czy to jest poprawne, czy nie –

+0

W razie wątpliwości zatwierdź. Jeśli to nie zostanie zatwierdzone, jest to oczywiście błędne. – cimmanon

+0

@imimmanon: o wiele łatwiej jest zapytać =) –

Odpowiedz

16

Jeśli mówisz o pseudo-klasach, to tak, możesz łączyć je w dowolnej kolejności.

Poza tym przypadkiem ::selection nie jest pseudoklasą, jest to pseudoelement, który nie jest częścią CSS1 lub CSS2, ani żadnej aktualnej specyfikacji dla tej sprawy. I tu właśnie brakuje terminu "pseudo-selektor", ponieważ są to dwie zupełnie różne rzeczy.

Poprawna składnia jest pojedynczy dwukropek dla :hover i podwójnym dwukropkiem dla ::selection iw przeciwieństwie do pseudo-klas, pseudo-elementy muszą zawsze przyjść ostatnia:

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

I nawet wtedy, ze względu na sposób ::selection prac (lub nie), nie ma gwarancji, że faktycznie działa w przeglądarkach.

+0

Ale może to być połączone i poprawne. To, czego szukałem –

0

Tak, to jest zalecany sposób to zrobić, zobacz W3C o klasach pseudo: http://www.w3.org/TR/CSS2/selector.html#dynamic-pseudo-classes

EDIT: jak BoltClock podkreślił ten link jeśli dla CSS2, jest to dokument dla CSS3: http://www.w3.org/TR/css3-selectors/#the-user-action-pseudo-classes-hover-act

+0

Dzięki, to było to, czego nie mogłem znaleźć =) –

+0

To jest oczywiście błędne, biorąc pod uwagę pytanie. Dokument, do którego linkujesz, jest również przestarzały. – BoltClock

+0

right, never used :: selection, nie wiedziałem, że to nie pseudo klasa. Moja odpowiedź jest nadal poprawna dla (prawdziwych) pseudo-klas, a ten konkretny punkt nie zmienił się w CSS3. Będę edytować moją odpowiedź za pomocą aktualnego dokumentu. – Trajan