Valitsimet määrittävät, miten CSS-tyylit määrätään HTML-elementeille. Vastaavassa määrityksessä ensimmäisenä annetaan elementin nimi, johon valitsimen tulee kohdistua. Todellinen määrittely tapahtuu sitten aaltosulkeiden sisällä. Määrittelyn sisällä voidaan määrittää yksi tai useampi ominaisuus. Yleinen syntaksi on siis seuraava:
Valitsin { Ominaisuus1: Arvo; Ominaisuus2: Arvo; Ominaisuus3: Arvo; }
Vastaava määritys on jo tullut vastaan aiemmassa opetusohjelmassa.
h1 { font-family:"Courier New", Courier, monospace; font-size: 200%; }
Huolehtikaa ehdottomasti siitä, että jokainen määrittely päättyy puolipisteeseen.
Tutkitaan saatavilla olevia valitsimia
Itse asiassa CSS:llä on runsaasti valitsimia, joista esittelen teille tärkeimmät. Sillä vain valitsimien hallinnan osaaminen mahdollistaa järkevien CSS-ominaisuuksien määrittämisen.
Yksinkertaisin tapa määrätä tyylejä HTML-dokumentissa on Elementtivalitsin.
Seuraavalla syntaksilla kaikille p
-elementeille annetaan musta väri.
p { color: #009966; }
Halutessasi määrittää useille elementeille saman tyylin, se on myös mahdollista.
Tässä tapauksessa kirjoitat kyseiset elementit yksinkertaisesti peräkkäin, erotettuina toisistaan pilkulla.
p, h1, li { color: #000; }
Voit myös määrätä useita tyylejä elementeille. Tällöin tyylit kirjoitetaan puolipisteellä toisistaan erotettuina.
p { color: #000; background-color: red; }
Edellä mainittujen vaihtoehtojen yhdistäminen on myös mahdollista.
p, h1, li { color: #009966; background-color: red; }
Tulos voisi näyttää tältä:
Alueet useilla elementeillä
Usein on tarpeen muotoilla alue, joka koostuu useista HTML-elementeistä. Tällaisiin tapauksiin HTML:ssä on kaksi erityistä elementtiä: span
ja div
. Nämä elementit tulevat teille – muuten myös tässä sarjassa – ilmestymään jatkuvasti vastaan.
Esimerkiksi:
<div class="artikel"> <h1>Värikkäät räjähdykset</h1> <p class="thema">Opas värikkäiden räjähdysten luomiseen <span class="autor">MarkusMelzer</span>.</p> </div>
Ainoa ero div
ja span
välillä on se, että div
-elementti pakottaa uuden rivin tekstivirtaan. span
sen sijaan ei tee niin. Esimerkissä määritellään div-alue, joka sisältää otsikon ja kappaleen. Kappaleen sisällä on jälleen span
-alue.
ID- ja luokkavalitsimet
Tähän asti on käytetty elementtivalitsimia. Seuraavassa esimerkissä elementtivalitsimen avulla määritetään kaikki h1
-otsikot.
h1 { color: #000; background-color: red; }
Tämä ei kuitenkaan ole aina toivottua. Mitä esimerkiksi, jos haluat antaa tiettyjä ominaisuuksia vain yhdelle tai joillekin, mutta ei kaikille h1
-otsikoille? Tällaisiin tilanteisiin CSS tarjoaa kaksi mahdollisuutta, nimittäin luokka- ja ID-valitsimet.
Luokkavalitsimilla voi valita tarkasti HTML-elementtejä luokkaominaisuudella. Kyseisen HTML-elementin täytyy sisältää class
-attribuutti. Luokan määritykset alkavat pisteellä.
.rot { color: red; }
Tässä määriteltiin luokka rot
. Lisätäksesi punaiset ominaisuudet HTML-elementtiin, anna class
ja sen perään luokan nimi.
<p class="rot">PSD-Tutorials.de</p>
ID-valitsinta on yhtä helppo käyttää. ID-valitsin tunnistetaan kaksoisristillä.
#topnavi { color: blue; };
Esimerkissä määriteltiin ID topnavi
. Mutta huomioithan: Yhtä ID:tä saa todellisuudessa määrittää vain kerran dokumentissa. Pääsy määriteltyyn ID-ominaisuuteen tapahtuu sitten seuraavasti:
<div id="topnavi">Tässä on navigointi</div>
Ominaisuus "id" osoittaa ID-nimen. Varmistakaa, että ristikko ei kirjoiteta tähän.
Nämä tiedot voidaan muuten myös yhdistää toisiinsa. Näin voit esimerkiksi osoittaa useita luokkia yhdelle HTML-elementille.
<p class="punainen suuri">PSD-Tutorials.de</p>
Tässä esimerkissä tekstikappaleelle on osoitettu kaksi luokkaa, punainen
ja suuri
. Jos haluat määrittää luokan ja ID:n, se näyttää kuitenkin tältä:
<p class="punainen" id="navi">PSD-Tutorials.de</p>
Voit myös yhdistää elementtejä ja ID:itä. Tässäkin esimerkki:
div.navi { color: sininen; }
Tämä syntaksi koskisi yksinomaan div-elementtejä, joille on osoitettu luokka navi. p-elementit, joilla on myös luokka navi, eivät vaikuta siihen.
CSS:ssä on vielä toinen tapa yhdistää valitsimia. Katso seuraava syntaksi:
h1 { color: punainen; } em { color: sininen; }
Kaikki ensimmäisen tason otsikot saavat punaisen värin. em
-elementit puolestaan saavat sinisen värin.
Yhdistämällä näitä kahta ohjetta voit varmistaa, että vain em
-elementit ovat sinisiä, jotka ovat h1
-elementtien sisällä.
h1 em { color: sininen; };
Elementtien nimet erotetaan tässä toisistaan ilman pilkkuja.
Tämä on muuten yleinen virhe, johon erityisesti CSS-aloittelijat lankeavat. Tässä sama syntaksi, mutta jossa on kuitenkin pilkku:
h1, em { color: sininen; }
Mitä tämä syntaksi tarkoittaa? Kaikki h1
- ja kaikki em
-elementit viitataan. Tämä on siis täysin erilaista kuin syntaksi ilman pilkkua!
Yksi tärkeä valitsin on yleisvalitsin. Tämä mahdollistaa minkä tahansa elementin valitsemisen. Tämä valitsin määritellään asteriskillä.
* { color: punainen; }
Tämän syntaksin avulla kaikki elementit väritettäisiin punaisiksi. Tässäkin valitsimessa on taas joitakin syntaksi erityispiirteitä huomioitavana.
#mainnavi * { color: punainen; }
Tässä esimerkissä kaikkien elementtien etualanväri mainnavi
-ID-elementissä on asetettu punaiseksi. Tämä ei kuitenkaan päde itse elementtiin.
Jos universaaliaselain olisi deklaraation alussa, sitä ei tarvitsisi osoittaa. Joten tällainen olisi siis tarpeeton:
* p { color: punainen; }
Tämä syntaksi vastaa seuraavaa:
p { color: punainen; }
Seuraavassa tutoriaalissa opit lisää valitsimia.