2013-06-07 8 views
13

Zgodnie z W3 Schools kolejność pseudo klas na elemencie kotwiczącym jest niezwykle ważna.Dlaczego kotwiczymy pseudoklasy a: link,: visited,: hover,: active musisz być we właściwej kolejności?

Dlaczego tak jest? Czy są jeszcze jakieś inne?

+2

http://www.w3.org/TR/CSS2/selector.html#dynamic-pseudo-classes – lifetimes

+0

Kolejny przykład, dlaczego pójście do specyfikacji nie jest najgorszym miejscem na rozpoczęcie i znaczenie W3Fools http://www.w3fools.com/ & stackoverflow mam nadzieję, że niedługo wyprzedzimy pierwszą pozycję w wynikach wyszukiwania. –

Odpowiedz

17

Jest to szczegółowy opis tutaj:

http://meyerweb.com/eric/css/link-specificity.html

To jest związane z CSS swoistości.
Powołując się stamtąd:

Wszystkie z nich mogą ubiegać się hiperłącze, a w niektórych przypadkach więcej niż jeden będzie miał zastosowanie. Na przykład nieodwiedzone łącze może być unoszone i aktywne w tym samym czasie, co nieodwiedzony link. Ponieważ trzy powyższe reguły odnoszą się do hiperłącza, a selektory mają tę samą specyfikację, wtedy wygrywa ten ostatni. Dlatego styl "aktywny" nigdy się nie pojawi, ponieważ zawsze będzie on zastępowany stylem "hover". Teraz rozważ link, który został odwiedzony. Będzie zawsze i na zawsze fioletowy, ponieważ jego styl "odwiedzanych" bije każdy inny stan, w tym "aktywny" i "najeżdżanie".
 
Dlatego zalecana kolejność CSS1 idzie tak:

A: Link
A: odwiedził
A: hover
A: aktywny

BTW W3 Szkoły nie jest najlepsza zasób dla formalnych definicji. Lepiej pójdź do źródła, pod numer w3c. Na przykład nie jest "niezwykle ważne", ale jest zalecane.

+0

To ma sens. Dzięki. – BanksySan

+9

Możesz użyć LoVe-HAte, jeśli to pomaga;) –

+0

Po prostu myślałem o dobrym mnemoniku. To jest dobre! Jeszcze raz dziękuję. – BanksySan

Powiązane problemy