CSS

CSS-TYYLEIHIN LIITTYVÄÄ KOULUTUSTA VUONNA 2025!

Kurssit saatavilla kautta Suomen. Tule ja varaa oma koulutustapahtumasi heti! Koulutuksen järjestää asiantuntijasi Koulutus- ja konsultointipalvelu KK Mediat.

Miten CSS-säännöt periytyvät elementtien välillä

Periytymisellä tarkoitetaan tilannetta, jossa lapsielementti perii ulkoasuun liittyviä ominaisuuksia vanhemmaltaan. Esimerkiksi jos HTML-dokumentin body-elementille määritellään tekstinväri ominaisuudella color, kaikki bodyn sisällä olevat elementit perivät tämän värin, ellei niitä ylikirjoiteta erikseen.

Valitsimet määrittelevät, mihin elementteihin tyylisäännöt kohdistuvat, mikä puolestaan vaikuttaa siihen, mitä periytyy. CSS:n periytymisessä otetaan aina huomioon cascade-prosessi ja sen vaikutus tyylisääntöjen keskinäiseen priorisointiin. Mikäli lapsielementille määritellään sama ominaisuus useasta lähteestä, selain valitsee säännön CSS:n määrittelemän tärkeysjärjestyksen (spesifisyys, sijainti, tärkeys) perusteella.

Miksi CSS:n periytyminen on hyödyllistä?

Periytymisen avulla on mahdollista pienentää CSS-tiedostojen kokoa ja vähentää monimutkaisuutta, mikä parantaa sivuston latausnopeutta ja helpottaa koodin ylläpitoa.

Alla olevissa esimerkeissä on sama lopputulos, mutta jälkimmäinen tilanne hyödyntää periytymistä ja ryhmittelyä tehokkaammin. Tämä pienentää tiedostokokoa, nopeuttaa tyylien renderöintiä selaimessa ja parantaa ylläpidettävyyttä.



/* periytymistä ja ryhmittelyä ei hyödynnetä */
body { 
  background-color: red;
  color: #00FF00;
  font-family:Arial,Verdana,sans-serif;
}
h1 {
  color: #00FF00;
  font-family:Arial,Verdana,sans-serif;
  font-size:90%;
}
h2 {
  color: #00FF00;
  font-family:Arial,Verdana,sans-serif;
  font-size:90%;
  
} 


/* periytymistä ja ryhmittelyä hyödynnetään */
body { 
  background-color: red;
  color: #00FF00;
  font-family:Arial,Verdana,sans-serif;
}
h1, h2 {
  font-size:90%;
}

Periytymisen rajoitukset

Kaikki ominaisuudet eivät periydy automaattisesti — siksi periytymisessä on tärkeää tuntea tietyt rajoitukset:

Periytymisen ohjaaminen: inherit

Jos haluat pakottaa periytymisen ominaisuuksille, jotka eivät normaalisti periydy, käytä arvoa inherit:



div {
  border: inherit;
}