We wcześniejszej części omówione zostały selektory typu, klas i id, teraz poznamy kilka następnych i nauczymy się je wszystkie łączyć w łańcuchy.
div#blok1 strong {
font-weight: bold;
}
Spacja pomiędzy selektorami typów div a strong to właśnie selektor potomka. W praktyce oznacza to, że tekst zawarty, w każdym znaczniku strong znajdującym się wewnątrz bloku div o identyfikatorze blok1.
Warto zauwazyć, że selektory zastosowane w powyższym przykładzie są już najprostszą fomą łańcucha, który może być dowolnej długości i łączyć w sobie wszystkie poznane wcześniej selektory.
div#blok1>strong {
font-weight: bold;
}
Selektor dziecka > różni się od selektora potomka większą precyzją ponieważ wskazuje jedynie na te elementy strong, które znajdują się bezpośrednio wewnątrz naszego elementu blokowego. Jeżeli w dokumencie HTML wskazany element zostanie “otoczony” znacznikami p nie zostanie pogrubiony, ponieważ jego pozycja w drzewie DOM zmieni się o jeden poziom względem rodzica.
div#blok1 p.cytat>strong> {
font-weight: bold;
}
W tym przypadku pogrubione zostaną fragmenty tekstu wyszczególnione tagami strong ale tylko jeżeli zostaną bezpośrednio zagnieżdżone wewnątrz znaczników p o klasie cytat. Te z koleji mogą znajdować się dowolną liczbę poziomów w głąb od znacznika div o id blok1.
Te selektory stosuje się dość żadko jednak są sytuacje, w których mogą się orzydać i warto o nich wiedzieć.
[title] {
border: 1px solid black;
}
Wszystkie elementy HTML posiadające atrybut tittle zostaną otoczone cienką ramką.
[title=Expose] {
border: 1px solid black;
}
W tym przypadku ograniczymy się do elementów z atrybutem title o wartości Expose.
[title~=Expose] {
border: 1px solid black;
}
A teraz nieco rozluźnimy zasady i wystarczy nam, że w tytule będzie zawarta nazwa Expose.