Czy wiecie, że możecie tworzyć interaktywne efekty za pomocą CSS? Poznajcie pseudoklasy! Można je rozpoznać po charakterystycznym dwukropku przed nazwą – :.
selektor:pseudoklasa { właściwość: wartość;}
Pseudoklasy zazwyczaj dotyczą stanu, w jakim może znajdować się dany element. Przykładowo, w przypadku linków mogą to być:
/* Link odwiedzony przez użytkownika*/a:visited{color:purple;}/* Link, nad którym znajduje się kursor myszy*/a:hover{color:red;}/* Link, na którym jest ustawiony fokus (np. za pomocą klawiatury)*/a:focus{color:navy;}/* Link, który w danym momencie jest aktywny*/a:active{color:green;}
Kiedy na przykład najedziemy kursorem myszy na nasz element, zmieni on swój kolor na czerwony.
Różne pseudoklasy możemy aplikować dla różnych elementów, w zależności od ich własności.
Ciekawymi typami pseudoklas są :first-child, :last-child oraz :nth-child(). Zapewne domyślacie się już, że pomagają nam one wybrać elementy w zależności od tego, w którym miejscu występują wobec nadrzędnego elementu. Zaprezentujmy działanie powyższych selektorów na przykładzie… listy zakupów!
Do kupienia:
Cukier
Mąka
Makaron
Chleb razowy
Jajka
Jogurt naturalny
Pomidory
Pseudoselektor :first-child pozwala nam na wskazanie pierwszego elementu na liście, :last-child natomiast ostatniego. :nth-child() jest nieco bardziej uniwersalny, ponieważ wewnątrz nawiasów () możemy podać dowolną liczbę naturalną a także warunek, który powinien spełniać element. Przykładowo :nth-child(2n) wskaże wszystkie elementy zajmujące parzyste pozycje na liście, a nth-child(2n + 1) – nieparzyste.
Pełną listę dostępnych pseudoklas (a jest ona całkiem długa!) możecie znaleźć na MDN.
/*
Wskaż pierwszy element listy
*/
.shopping-list li:first-child {
font-weight: bold;
}
/*
Wskaż ostatni element listy
*/
.shopping-list li:last-child {
text-decoration: line-through;
}
/*
Wskaż trzeci element listy
*/
.shopping-list li:nth-child(3) {
color: deeppink;
}