Innholdsblokker i mikser i SASS
For å overføre en blokk med stiler inni
en mikser bruker vi direktivet @content,
der de nødvendige stilene vil bli plassert.
La oss se på et eksempel:
@mixin active {
* div {
@content;
}
}
@include active {
#block {
color: red;
}
}
Kompileringsresultat:
* div #block {
color: red;
}
Det er viktig å vite at hvis
vi spesifiserer direktivet @content
mer enn én gang eller inni en loop,
vil blokken med stiler bli kalt
like mange ganger.
@mixin active {
div {
@content;
}
navbar {
@content;
}
}
@include active {
#block {
color: red;
}
button {
color:green;
}
}
Etter kompilering vil vi se:
div #block {
color: red;
}
div button {
color: green;
}
navbar #block {
color: red;
}
navbar button {
color: green;
}
Forklar hva resultatet av kompilering av følgende kode vil være:
@mixin super-link {
a {
@content;
}
}
@include super-link {
color: blue;
text-decoration: underline;
}
Forklar hva resultatet av kompilering av følgende kode vil være:
@mixin super-link {
a {
@content;
}
a .primary-link{
@content;
font-weight: bold;
}
}
@include super-link {
color: blue;
text-decoration: underline;
}
Anta at du har følgende mikse:
@mixin colors {
...
}
Ved å bruke direktivet @content
sett blå skriftfarge
og bølget understrekning for alle lenker som tilhører
#primary.