Опишите псевдокласове и псевдоелементе у CSS.
sobes.tech АИ
Одговор од АИ
Pseudo-klase i pseudo-elementi proširuju mogućnosti selektora u CSS-u, omogućavajući primenu stilova na elemente na osnovu njihovog stanja, položaja ili drugih karakteristika koje ne mogu biti izražene jednostavnim selektorima.
Pseudo-klase
Pseudo-klase počinju sa jednim dvostrukim dvotačkom (:). Koriste se za stilizovanje elementa u određenom stanju.
Glavne pseudo-klase:
:hover- stilizuje element kada je mišem prebačen preko njega.:active- stilizuje element tokom klika.:focus- stilizuje element koji je trenutno u fokusu.:visited- stilizuje posećeni link.:link- stilizuje neposećeni link.:first-child- stilizuje prvi dete element.:last-child- stilizuje poslednje dete element.:nth-child(n)- stilizuje n-ti dete element.:nth-last-child(n)- stilizuje n-ti dete od kraja.:not(selector)- stilizuje elemente koji ne odgovaraju datom selektoru.
/* Primer korišćenja pseudo-klasa */
a:hover {
color: blue; // Promena boje linka pri prelaženju mišem
}
input:focus {
border-color: green; // Promena boje okvira input polja pri fokusu
}
li:first-child {
font-weight: bold; // Stil za prvi element liste
}
Pseudo-elementi
Pseudo-elementi počinju sa dvostrukim dvotačkom (::). Koriste se za stilizovanje određenog dela elementa ili za umetanje generisanog sadržaja pre ili posle sadržaja elementa.
Glavni pseudo-elementi:
::before- umetanje generisanog sadržaja pre sadržaja elementa. Često se koristi sa svojstvomcontent.::after- umetanje generisanog sadržaja posle sadržaja elementa. Takođe zahteva svojstvocontent.::first-letter- stilizovanje prvog slova teksta.::first-line- stilizovanje prvog reda teksta.::selection- stilizovanje dela elementa koji je odabran.
/* Primer korišćenja pseudo-elementa */
p::first-letter {
font-size: 2em; // Povećanje prvog slova paragrafa
font-weight: bold;
}
h2::after {
content: " ---"; // Dodavanje teksta nakon naslova
color: gray;
}
mark::selection {
background-color: yellow; // Promena pozadine odabranog teksta
color: black;
}
Istorijski, pseudo-klase su koristile jedno dvotočka (:) radi kompatibilnosti sa CSS2.1, dok su pseudo-elementi u CSS3 počeli da koriste dvostruko dvotočko (::) radi bolje razlike. Preporučuje se korišćenje dvostrukog dvotočka za pseudo-elemente u savremenom kodu.
Tabela poređenja:
| Karakteristika | Pseudo-klasa | Pseudo-element |
|---|---|---|
| Sintaksa | :selector |
::selector |
| Svrha | Stanje elementa | Deo elementa ili generisani sadržaj |