WWW-ohjelmointi

Valitsimien tarkennus

Aiemmin todettiin, että valitsimissa voidaan käyttää tagien nimiä, elementin id:tä, elementin luokkaa, pseudo-luokkaa, pseudo-elementtiä tai elementtien attribuutteja ja niiden arvoja. Valitsin koostuu näiden yhdistelmistä, joissa samaan elementtiin viittaavat osat on kirjoitettu yhteen, sisäkkäin olevat elementit välilyönnillä eroteltuina peräkkäin ja rinnakkaiset vaihtoehtoiset valitsimet samalle säännölle on eroteltu pilkulla.

Nyt lisätään valitsinten käsittelyyn vielä muutama keino, joilla valitsimen kohdistamista haluttuun elementtiin voidaan tarkentaa.

Välitön jälkeläinen

Välilyönnillä eroteltuna peräkkäin kirjoitetut valitsimet tarkoittavat siis elementtien sisäkkäisyyttä. Eli article .important tarkoittaa siis <article>-tagin sisällä olevaa elementtiä, jolla on luokka important. Sillä ei ole väliä, onko .important-elementti heti <article>-elementin lapsi vai onko välissä yksi tai useampikin taso.

article .important {background-color: #faa;}
<article>
    <p class="important">Lorem ipsum dolor sit amet, consectetur...</p>
    <p>Lorem ipsum <span class="important">dolor sit</span> amet, consectetur...</p>
</article>

Lorem ipsum dolor sit amet, consectetur...

Lorem ipsum dolor sit amet, consectetur...

Jos kuitenkin halutaan valitsimessa määrätä, että jokin elementti on toisen välitön jälkeläinen, merkitään tämä jälkeläisyysrelaatio >-merkillä. Siis välittömästi <article>-elementin lapsena oleva .important-elementti valitaan valitsimella article > .important.

article > .important {background-color: #faa;}
<article>
    <p class="important">Lorem ipsum dolor sit amet, consectetur...</p>
    <p>Lorem ipsum <span class="important">dolor sit</span> amet, consectetur...</p>
</article>

Lorem ipsum dolor sit amet, consectetur...

Lorem ipsum dolor sit amet, consectetur...

Seuraava elementti

Toinen hyödyllinen merkintä on seuraajarelaatio, jota merkitään +-merkillä. Tämä tarkoittaa, että esimerkiksi important-luokalla merkityn elementin jälkeen tulevaan <p>-elementtiin voidaan viitata valitsimella .important + p.

.important + p {background-color: #ffa;}
<article>
    <p class="important">Lorem ipsum dolor sit amet, consectetur...</p>
    <p>Lorem ipsum dolor sit amet, consectetur...</p>
</article>

Lorem ipsum dolor sit amet, consectetur...

Lorem ipsum dolor sit amet, consectetur...