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