Bloky obsahu v mixinách v SASS
Na odovzdanie bloku štýlov vo vnútri
mixinu používame direktívu @content,
na ktorej miesto budú vložené požadované štýly.
Pozrime sa na príklad:
@mixin active {
* div {
@content;
}
}
@include active {
#block {
color: red;
}
}
Výsledok kompilácie:
* div #block {
color: red;
}
Je dôležité vedieť, že ak
zadáme direktívu @content
viackrát alebo vo vnútri cyklu,
blok štýlov sa zavolá rovnaký počet krát.
@mixin active {
div {
@content;
}
navbar {
@content;
}
}
@include active {
#block {
color: red;
}
button {
color:green;
}
}
Po kompilácii uvidíme:
div #block {
color: red;
}
div button {
color: green;
}
navbar #block {
color: red;
}
navbar button {
color: green;
}
Vysvetlite, aký bude výsledok kompilácie nasledujúceho kódu:
@mixin super-link {
a {
@content;
}
}
@include super-link {
color: blue;
text-decoration: underline;
}
Vysvetlite, aký bude výsledok kompilácie nasledujúceho kódu:
@mixin super-link {
a {
@content;
}
a .primary-link{
@content;
font-weight: bold;
}
}
@include super-link {
color: blue;
text-decoration: underline;
}
Majme nasledujúci mixin:
@mixin colors {
...
}
Použitím direktívy @content
nastavte pre všetky odkazy patriace
ku #primary modrú farbu písma
a vlnkované podčiarknutie.