CSS-valitsimet
CSS-valitsimia voi harjoitella hauskan pelin muodossa.
Käsitteitä
- vanhempi-, äiti- tai isäelementti (engl. parent)
- Elementti, jonka sisällä ko. elementti välittömästi on.
<p> <strong>Tämän strong-elementin äiti-elementti on p-elementti.</strong> </p>
- lapsielementti (engl. child)
- Välittömästi ko. elementin sisällä oleva elementti.
<p> <strong>Tämä strong-elementti on p-elementin lapsi.</strong> </p>
- jälkeläinen (engl. descendant)
- Ko. elementin sisällä oleva elementti.
<p> <strong>Tämä strong-elementti on p-elementin jälkeläinen. <a href="/">Tämä linkki on sekä strong-elementin, että p-elementin jälkeläinen.</a></strong> </p>
- esivanhempi, esi-isä (engl. ancestor)
- Elementti, jonka jälkeläinen ko. elementti on.
<p>Tämä p-elementti on sekä a-elementin, että strong-elementin esi-isä. <strong>Tämä strong-elementti on a-elementin esi-isä. <a href="/">Tämä linkki on sekä strong-elementin, että p-elementin jälkeläinen.</a></strong> </p>
- sisarelementti (engl. sibling)
- Elementit ovat sisaret, jos niillä on yhteinen vanhempielementti.
<p> <strong>Tämä strong-elementti ja seuraava a-elementti ovat sisarelementtejä.</strong> <a href="/">Tämä linkki on edellisen strong-elementin sisarelementti.</a> </p>
- edeltävä/seuraava sisarelementti (engl. preceding/following sibling)
- Edeltävä elementti on dokumenttipuussa ennen ko. elementtiä,
seuraava on sen jälkeen.
<p> <strong>Tätä strong-elementtiä seuraava elementti on a-elementti.</strong> <a href="/">Tätä linkkiä edeltävä elementti on strong-elementti.</a> </p>
Lisätietoa:
- XML-sanasto (Henri Ruini)
Valitsimet ja näennäisluokat
Seuraavassa on esitelty lyhyiden esimerkkien avulla erilaisia CSS-valitsimia (engl. selectors) ja näennäisluokkia (engl. pseudo). Valitsimien (engl. selectors) avulla voidaan viitata HTML-dokumentissa käytettyihin rakenteisiin määrityksiin, joten ne toimivat eräällä tavalla tyylin niminä.
Valitsin | Selitys |
---|---|
|
Valitsee jokaisen elementin. |
|
Valitsee jokaisen elementin E. |
|
Valitsee elementin F, joka on elementin E jälkeläinen. |
|
Valitsee elementin F, joka on elementin E lapsi. |
|
Valitsee elementin E, jos elementti E on äitielementtinsä ensimmäinen lapsielementti. |
|
Valitsee elementin F, jos se on heti elementin E jälkeen. |
|
Valitsee elementin E, jos elementin E foo -attribuutilla on jokin arvo. Myös tyhjä käy arvoksi. |
|
Valitsee elementin E, jos elementin E foo -attribuutilla on arvona varoitus . |
|
Valitsee elementin E, jonka ominaisuudella foo on välilyönnillä eroteltujen arvojen joukossa arvo bar. |
|
Valitsee elementin E, jos elementin E class -attribuutin arvo on luokka . |
|
Valitsee elementin E, jos elementin E id -attribuutin arvo on tunniste . |
|
Lisää ennen elementtiä E jotakin sisältöä. |
|
Lisää elementin E jälkeen jotakin sisältöä. |
|
Valitsee elementin E ensimmäisen kirjaimen. |
|
Valitsee elementin E ensimmäisen rivin. |
|
Valitsee elementin E, jonka ominaisuus foo alkaa merkeillä bar. |
|
Valitsee elementin E, jonka ominaisuus foo loppuu merkkeihin bar. |
|
Valitsee elementin E, jonka ominaisuuden foo arvo sisältää peräkkäiset merkit bar. |
|
Valitsee elementin F, jos se on elementin E jälkeen (välissä voi olla muita elementtejä). |
| Valitsee elementin sen sijainnin perusteella |
| Valitsee elementin sen tyypin ja sijainnin perusteella |
Valitsin | CSS | HTML |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Muuttaa jokaisen neljännen elementin tekstivärin keltaiseksi |
|
| Muuttaa jokaisen neljännen p-elementin tekstivärin keltaiseksi |
Esimerkkejä valitsimista (esimerkissä käytetty CSS)
Esimerkkejä näennäisluokkien käytöstä
Huomio: CSS 2.1:ssä ei ole selektoreja, joilla voisi valita elementtejä niiden sisällön perusteella. Usein siis tarvitaan class- ja id-ominaisuuksia.
Listan ominaisuuksia
Listanumerointi
CSS:stä löytyviä listatyylejä ovat mm.:
- decimal (1, 2, 3, ...)
- decimal-leading-zero (01, 02, 03, ...)
- lower-roman (i, ii, iii, iv, v, ...)
- upper-roman (I, II, III, IV, V, ...)
- lower-latin (a, b, c, ...)
- upper-latin (A, B, C, ...)
- lower-greek (alpha, beta, gamma, ...)
Seuraavassa esimerkkejä listatyyleistä:
Automaattinen numerointi
Automaattisen numeroinnin avulla voidaan listoille tai otsikoille määritellä automaattinen numerointi. Seuraavassa esimerkki automaattisen numeroinnin käytöstä.
body {
counter-reset: osa;
}
h1:before {
content: "Osa " counter(osa) ". ";
counter-increment: osa;
}
h1 {
counter-reset: otsikko;
}
h2:before {
content: counter(osa) "." counter(otsikko) " ";
counter-increment: otsikko;
}
h2 {
counter-reset: alaotsikko;
}
h3:before {
content: counter(osa) "." counter(otsikko) "." counter(alaotsikko) " ";
counter-increment: alaotsikko;
}
Esimerkki automaattisesta numeroinnista
Taulukot
Taulukoilla on muutamia omia erikoisominaisuuksiaan.
Ominaisuus | Arvot | Taulukon osa johon liittyy | Selitys |
---|---|---|---|
|
|
|
Määrää onko caption taulukon päällä, sivulla vai alla. |
|
|
|
Määrittelee riippuuko taulukon koko ja ulkoasu sen sisällöstä vai ei. |
|
|
|
Määrää miten rajat määrätään taulukon soluille.
|
|
|
|
Määrää välin joka tulee yksittäisten solujen väliin, jos käytössä on separate -moodi. |
|
|
|
Määrää näytetäänkö raja tyhjien solujen ympärillä. |
Taulukkoesimerkki ja esimerkin CSS-koodi
Lisätietoja: Styling Tables ja A Complete Guide to the Table Element
col-elementti
Yksi hieman erikoisempi taulukoiden elementti on col. Sillä voi määritellä tiettyjä ominaisuuksia taulukon eri sarakkeille (vrt. tr-elementti riveille). Esimerkiksi voi määritellä eri sarakkeille class-attribuutin avulla oman CSS-luokan, jolle voi sitten antaa eri määrityksiä CSS-tiedostossa.
col-elementissä lopetuselementti lyhennetään suoraan aloituselementtiin, eli elementin syntaksi on <col />. col-elementit tulee sijoittaa ennen tr-elementtejä, eli heti table-elementin perään. span-attribuutin avulla voi määrätä yhden col-elementin koskemaan useampia sarakkeita. Alla on esimerkki elementin käytöstä.
Esimerkin koodit:
HTML:
<table>
<col class="eka_sarake" />
<col span="2" class="toka_ja_kolmas_sarake" />
<tr><td>1. rivin 1. sarakkeen 1. solu</td><td>1. rivin 2. sarakkeen 1. solu</td>
<td>1. rivin 3. sarakkeen 1. solu</td></tr>
<tr><td>2. rivin 1. sarakkeen 2. solu</td><td>2. rivin 2. sarakkeen 2. solu</td>
<td>2. rivin 3. sarakkeen 2. solu</td></tr>
</table>
CSS:
.eka_sarake {
background-color: yellow;
}
.toka_ja_kolmas_sarake {
background-color: green;
}
display-ominaisuus
- display
- Esimerkki display:n käytöstä yksinkertaisessa XML-dokumentissa
display-ominaisuudella voidaan muuttaa esimerkiksi tekstikappaleen näkymiseen liittyviä ominaisuuksia. Tekstikappaleesta voidaan tehdä visuaalisesti osa toista tekstikappaletta tai sen näkyminen voidaan estää kokonaan. display-ominaisuudelle voidaan asettaa seuraavia arvoja.
- block-arvolla elementti käyttäytyy lohkotason elementin tavoin.
- inline-arvolla elementti käyttäytyy tekstitason (inline) elementin tavoin.
- list-item-arvolla elementti käyttäytyy lista-alkion tavoin.
- none-arvolla elementin sisältöä ei näytetä ollenkaan ja elementti ei vaikuta mitenkään ympäröiviin elementteihin.
- run-in-arvolla elementti saadaan osaksi toista lohkotason elementtiä.
- inline-block
- table
- inline-table
- table-row
- table-row-group
- table-header-group
- table-footer-group
- table-column
- table-column-group
- table-cell
- table-caption
Esimerkki keskittämisestä pystysuunnassa display
-ominaisuuden avulla.
Esimerkin css-koodi
Lisätietoa display-ominaisuudesta: display
Elementin koko
- Muut elementin ominaisuudet (esimerkki)
- width
- height
Peruskorkeuden määrittää aina sisällön viemä korkeus!
Esim. olkoon div-elementille annettu height: 100%;
ja div on suoraan bodyn sisällä.
Tällöin div-elementin korkeus on 100 % vanhempielementin eli bodyn koosta.
Bodyn korkeus määräytyy sen sisältämän sisällön mukaan, eli jos tekstiä on vähän,
niin div:in korkeus jää pieneksi, eikä esim. koko ruudun korkeudelle.
Minimin ja maksimin määrittely elementin leveydelle ja korkeudelle
Ylivuoto, leikkaus ja näkyvyys -ominaisuudet
- Ylivuoto eli overflow-ominaisuudella voidaan määritellä mitä pitää tehdä, jos elementti ei mahdu
sille annettuun tilaan. Elementin käyttäytymistä voidaan määritellä seuraavien arvojen avulla:
- visible-arvolla ylivuotava osuus näytetään.
- hidden-arvolla ylivuotava osuus piilotetaan.
- scroll-arvolla elementtiin voidaan määritellä vierityspalkki sisällön vieritykseen.
- auto-arvolla elementtiin tehdään tarvittaessa vierityspalkki.
- Leikkaus eli clip-ominaisuudella voidaan rajoittaa elementistä näkyvää suorakaiteen muotoista aluetta.
- Näkyvyys eli visibility-ominaisuudella voidaan poistaa elementti näkyvistä, mutta kuitenkin pitää se sivulla, eli näkymätön elementti vaikuttaa muiden sivun osien sijoitteluun.
Seuraavassa esimerkki ominaisuuksien käytöstä
- Esimerkki overlow-, clip-, ja visibility-ominaisuuksista
- overflow.html - lähdekoodi
- overflow.css - lähdekoodi
Käyttäjien kommentit