Hopp til hovedinnhold

I dagens CSS skal vi se på @layer

Som man kanskje allerede vet så har CSS et hierarki på hvordan CSS reglene blir tatt i bruk. Noe av det er rekkefølgen den er skrevet i, ellers kan man lage mer spesifikke regler ved å bruke ID-er eller klasser. Selvfølgelig har man !important om en siste utvei, men visste du at man kan definere rekkefølge og endre på hierariket selv?

Med @layers kan man lage egne lag som man igjen kan bestemme rekkeføkgen på. Dette kan man gjøre ved å først definere rekkefølgen

@layer theme, layout, utilities;

I dette eksempelet vil man lage tre lag, theme, layout og utilities. Regler som overlapper fra utilities vil ha presendens over de som er i de to første lagene, og så videre.

Det som er viktig å merke seg at regler som er definert utenfor et lag har høyere viktighet enn regler i et lag. Så i følgende eksempel vil tekstfargen fortsatt være lilla, selv om regel inne i laget er mer spesifikk.

p {
  color: rebeccapurple;
}

@layer type {
  .box p {
    color: green;
  }
}

Det er med andre ord fortsatt viktig å være klar over hierarkiet av viktighet når man jobber med lag, men det gir deg litt mer frihet til å definere CSS uten å nødvendigvis tenke på rekkefølgen i fila.

@layer har god støtte i alle nettlesere!

Relevante lenker anbefalt av forfatteren

Liker du innlegget?

Del gjerne med kollegaer og venner