Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Nesting av Stiler for Renere Kode | CSS-forprosessorer og Sass
Avanserte CSS-teknikker

bookNesting av Stiler for Renere Kode

Den neste kraftige funksjonen er nøsting. Dette gjør det mulig å nøste én selektor innenfor en annen for å skape mer organisert og lesbar kode. Vi kan gruppere stiler og redusere mengden kode som må skrives.

La oss tenke oss at vi må lage nettstedets navigasjon.

HTML-en for denne navigasjonen vil se slik ut:

<nav>
  <ul>
    <li>
      <a href="#home">Home</a>
    </li>
    <li>
      <a href="#about">About</a>
    </li>
    <li>
      <a href="#price">Price</a>
    </li>
  </ul>
</nav>

Med tanke på at vi, i tillegg til navigasjonen, bruker de samme HTML-tagene (ul, li, a) flere ganger gjennom prosjektet. For å legge til noen stiler nøyaktig på disse elementene, må vi bruke nestede regler i CSS. CSS-en kan derfor se slik ut:

nav {
  background-color: rebeccapurple;
  border-radius: 10px;
  padding: 10px;
}

nav ul {
  list-style: none;
  padding-left: 0;
}

nav ul li {
  display: inline-block;
  margin: 0 10px;
}

nav ul li a {
  text-decoration: none;
  color: aquamarine;
}

nav ul li a:hover {
  text-decoration: underline wavy;
}

La oss nå se hvordan Sass kan gjøre arbeidet enklere. Vi samler alle disse stilene i én blokk. Koden omskrives til:

nav {
  background-color: rebeccapurple;
  border-radius: 10px;
  padding: 10px;

  ul {
    list-style: none;
    padding-left: 0;

    li {
      display: inline-block;
      margin: 0 10px;

      a {
        text-decoration: none;
        color: aquamarine;
        
        &:hover {
          text-decoration: underline wavy;
        }
      }
    }
  }
}

Det er som om vi nestler barnets stilblokk i foreldrens blokk. Merk at symbolet & i &:hover-velgeren brukes for å referere til foreldervelgeren, i dette tilfellet a. Dette er en kortform for å skrive a:hover og gjør det enklere å skrive nestede velgere uten å måtte gjenta foreldervelgeren flere ganger.

question mark

Hva er fordelen med å bruke nesting i Sass?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 7. Kapittel 5

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

Can you explain more about how nesting works in Sass?

What are the benefits of using nesting in Sass compared to regular CSS?

Can you show more examples of using the `&` symbol in Sass?

Awesome!

Completion rate improved to 2.04

bookNesting av Stiler for Renere Kode

Sveip for å vise menyen

Den neste kraftige funksjonen er nøsting. Dette gjør det mulig å nøste én selektor innenfor en annen for å skape mer organisert og lesbar kode. Vi kan gruppere stiler og redusere mengden kode som må skrives.

La oss tenke oss at vi må lage nettstedets navigasjon.

HTML-en for denne navigasjonen vil se slik ut:

<nav>
  <ul>
    <li>
      <a href="#home">Home</a>
    </li>
    <li>
      <a href="#about">About</a>
    </li>
    <li>
      <a href="#price">Price</a>
    </li>
  </ul>
</nav>

Med tanke på at vi, i tillegg til navigasjonen, bruker de samme HTML-tagene (ul, li, a) flere ganger gjennom prosjektet. For å legge til noen stiler nøyaktig på disse elementene, må vi bruke nestede regler i CSS. CSS-en kan derfor se slik ut:

nav {
  background-color: rebeccapurple;
  border-radius: 10px;
  padding: 10px;
}

nav ul {
  list-style: none;
  padding-left: 0;
}

nav ul li {
  display: inline-block;
  margin: 0 10px;
}

nav ul li a {
  text-decoration: none;
  color: aquamarine;
}

nav ul li a:hover {
  text-decoration: underline wavy;
}

La oss nå se hvordan Sass kan gjøre arbeidet enklere. Vi samler alle disse stilene i én blokk. Koden omskrives til:

nav {
  background-color: rebeccapurple;
  border-radius: 10px;
  padding: 10px;

  ul {
    list-style: none;
    padding-left: 0;

    li {
      display: inline-block;
      margin: 0 10px;

      a {
        text-decoration: none;
        color: aquamarine;
        
        &:hover {
          text-decoration: underline wavy;
        }
      }
    }
  }
}

Det er som om vi nestler barnets stilblokk i foreldrens blokk. Merk at symbolet & i &:hover-velgeren brukes for å referere til foreldervelgeren, i dette tilfellet a. Dette er en kortform for å skrive a:hover og gjør det enklere å skrive nestede velgere uten å måtte gjenta foreldervelgeren flere ganger.

question mark

Hva er fordelen med å bruke nesting i Sass?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 7. Kapittel 5
some-alt