CSS:pseudo-klasy
Opublikowano czw 02 kwietnia 2020 w css • 2 min read
Pseudo klasy pozwalają na wprowadzenie interaktywnego zachowania się strony przy pomocy CSS, przy pomocy tej deklaracji w zależności od zdefiniowanej sytuacji/stanu dany obiekt może przyjąć inny wygląd. Istotne jest to że deklaracja pseudoklasy poprzedzona jest dwukropkiem :
Przykładowy schemat zastosowania
selektor:pseudoklasa {
właściwość: wartość;
}
W przypadku linków istniejącą pseudoklasy
a:visited - link, który został już użyty
a:link - zmienia wygląd odsyłacza
Pseudoklasy akcji
:hover - obiekt nad którym znajduje się kursor myszy
:focused - obiekt na którym jest focus (właściwość przypisana dla klawiatury)
:active - obiekt link/używany
Przykładowe zastosowanie
button:hover {
color: blue;
}
Pseudoklasa dotycząca przycisku
button:disabled - zablokowanie przycisku
Pseudoklasa dotycząca checkboxa
input[type="checkbox"]:checked - zaznaczenie checkboxa
Ta pseudo klasa często może być wykorzystana również w celu dodanie jakiegoś rodzaju funkcjonalności do strony - np. poprzez ustawienie deklaracji display oraz nadanie jej odpowiedniej wartości w momencie gdy checked = true. Należy pamiętać wówczas o dwóch ważnych warunkach:
1) checkbox musi znajdować się na poziomie wyżej niż obiekt, na który planujemy mieć wpływ
2) zależność należy oznaczyć znakiem "poprzedzony" -> ~
CSS
#theme-checkbox:checked ~article {
background-color: var(--gray-darker);
}
Pseudoklasy strukturalne
:first-child - wskazanie pierwszego dziecka
:last-child - wskazanie ostatniego dziecka
:nth-child() - wskazanie wybranego dziecka - w nawias wpisuje się liczbę przypisaną dla danego dziecka
:nth-of-type() - n-te element określonego typu
:nth-last-of-type() - n-ty element określonego typu licząc od ostatniego dziecka
:nth-last-child() - każdy element który jest n-tym dzieckiem licząc od ostatniego dziecka
:only-child - każdy element który jest jedynym dzieckiem swojego rodzica
:first-of-type - pierwszy określonego typu
:last-of-type - ostatni element określonego typu
:only-of-type - jedyny element określonego typu / lub ten który nie posiada rodzeństwa określonego typu
Przykładowe zastosowanie
Jedyne dziecko
p:only-child {
color:red;
}
p:nth-last-child(2) {
color:red;
}
/* ostatni element listy li */
li:nth-last-of-type(2) {
background: red;
}
Źródło i polecane linki:
https://the-awwwesomes.gitbooks.io/html-css-step-by-step/content/pl/appendix/clean-code/index.html
http://www.kurshtml.edu.pl/css/co_to_sa_pseudoklasy,pseudoklasy.html
https://css-tricks.com/pseudo-class-selectors/
https://www.w3schools.com/css/css_pseudo_classes.asp
https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes