Tyylien ominaisuuksien periytyminen
Tyylin ominaisuudet voivat periytyä toiselle tyylille.
Ominaisuuden periytyminen tapahtuu elementtien vaikutusalueiden
mukaan. Periytymisen yhteydessä puhutaan usein vanhempi- ja
lapsi-elementistä tai ylemmän ja alemman tason
elementistä. Vanhempi-elementillä eli ylemmän tason
elementillä tarkoitetaan rakenteellisesti ulompana olevaa
XHTML-elementtiä, jonka sisällä on lapsi eli alemman
tason -elementti. Tyypillinen esimerkki vanhempi-elementistä
eli ylemmän tason elementistä on
body-elementti, jonka sisälle tulevat kaikki
XHTML-dokumentin sisällön rakennetta kuvaavat elementit.
Lapsi-elementistä eli alemman tason elementistä hyvin
tyypillinen esimerkki on
p-elementti. Tyylin ominaisuudet periytyvät
esimerkin tapauksessa
body-elementiltä
p-elementille, jos
p-elementissä ei ole määritelty
kyseistä ominaisuutta.
Kaikki elementtien ominaisuudet eivät ole periytyviä!
Seuraavassa esimerkissä tarkastellaan tyylien
ominaisuuksien periytymistä. Esimerkin
body-tyyliin tehty väriominaisuus
color periytyy automaattisesti
body-elementin sisällä oleviin
XHTML-elementteihin. Esimerkin
body-tyylin taustaväriksi on määritetty
keltainen ja tekstinväriksi on määritetty musta.
XHTML-dokumentissa
h1- ja
p-elementit sijoitetaan aina
body-elementin sisälle. Esimerkin tapauksessa
h1-elementin sisällä oleva teksti on mustaa,
koska ominaisuus periytyy
body-elementistä.
p-elementin tekstin väri on keltainen, koska
väri on määritelty uudelleen
p-elementissä.
p-elementin sisään tulevalle
strong-elementille periytyy
p-elementiltä keltainen tekstin väri.
Myös kirjasinperheen (
font-family) ominaisuudet periytyvät
body-elementistä
h1- ja
p-elementtiin. Kirjasinperheen määritykset
eivät kuitenkaan periydy
strong-elementille, koska elementille on
määritelty omat kirjasinperheen
määritykset.
body {
color: black;
background-color: yellow;
font-family: verdana, sans-serif;
}
h1 {
text-align: center;
}
p {
color: yellow;
background-color: black;
}
strong {
font-family: courier, monospace;
}
Seuraavassa kuvassa edellisen esimerkin tyyleillä
muotoiltu XHTML-dokumentti.
Aivan kaikki tyylien ominaisuudet eivät kuitenkaan periydy.
Esimerkiksi
background-color-ominaisuus ei kuulu periytyvien
ominaisuuksien joukkoon. Ominaisuus näyttää
periytyvän, koska esimerkiksi
body-tyylin
background-color-ominaisuus näkyy
h1-tyylisen kappaleen taustan läpi, koska
h1-tyyliin ei ole määritelty omaa
background-color-ominaisuutta vaan tausta on oletuksena läpinäkyvä.
Perinnän avulla tyylitiedostoon ei tarvitse kirjoittaa
kaikkien ominaisuuksien tyylimäärittelyjä.
Esimerkiksi
body-tyyliin määritellyt ominaisuudet
joitakin poikkeuksia lukuunottamatta periytyvät
body-elementin sisällä oleville
elementteille.

Käyttäjien kommentit