Sass @extend ja perintä

Sass @extend ohje

@extend ohje mahdollistaa CSS-ominaisuuksien ryhmän siirtämisen yhdestä valitsimesta toiseen.

Jos sinulla on lähes identtisiä elementtejä, mutta ne eroavat vain muutamissa pienissä yksityiskohdissa, @extend ohjetta ovat hyödyllisiä.

Alapuolella oleva Sass-esimerkki luo ensin perusmuodon painikkeelle (tämä muoto käytetään useimpiin painikkeisiin). Sitten luomme "Report"-painikkeelle erityisen muodon ja "Submit"-painikkeelle erityisen muodon. "Report"- ja "Submit"-painikkeet käyttävät @extend Ohjeet periivät .button-basic-luokan kaikki CSS-ominaisuudet. Lisäksi ne määrittelevät omat väreensä:

SCSS kieli:

.button-basic  {
  border: none;
  padding: 15px 30px;
  text-align: center;
  font-size: 16px;
  cursor: pointer;
}
.button-report  {
  @extend .button-basic;
  background-color: red;
}
.button-submit  {
  @extend .button-basic;
  background-color: green;
  color: white;
}

Käännöksen jälkeen CSS näyttää tältä:

CSS tulostus:

.button-basic, .button-report, .button-submit {
  border: none;
  padding: 15px 30px;
  text-align: center;
  font-size: 16px;
  cursor: pointer;
}
.button-report  {
  background-color: red;
}
.button-submit  {
  background-color: green;
  color: white;
}

Käyttämällä @extend Ohje, etkä tarvitse määrittää useita luokkia HTML-koodin elementille, esimerkiksi:<button class="button-basic button-report">Report this</button>. Tarvitset vain määrittää .button-report, jotta saat kaksi stilia.

@extend Ohjeet auttavat pitämään Sass-koodisi erittäin kuivana (DRY).