Bloki treści w mixinach w SASS
Aby przekazać blok stylów wewnątrz
mixinu używamy dyrektywy @content,
w miejsce której zostaną wstawione potrzebne nam style.
Rozważmy przykład:
@mixin active {
* div {
@content;
}
}
@include active {
#block {
color: red;
}
}
Wynik kompilacji:
* div #block {
color: red;
}
Należy wiedzieć, że jeśli
wskazujemy dyrektywę @content
więcej niż jeden raz lub wewnątrz pętli,
to tyle samo razy zostanie wywołany
blok stylów.
@mixin active {
div {
@content;
}
navbar {
@content;
}
}
@include active {
#block {
color: red;
}
button {
color:green;
}
}
Po kompilacji zobaczymy:
div #block {
color: red;
}
div button {
color: green;
}
navbar #block {
color: red;
}
navbar button {
color: green;
}
Opowiedz, jaki będzie wynik kompilacji następującego kodu:
@mixin super-link {
a {
@content;
}
}
@include super-link {
color: blue;
text-decoration: underline;
}
Opowiedz, jaki będzie wynik kompilacji następującego kodu:
@mixin super-link {
a {
@content;
}
a .primary-link{
@content;
font-weight: bold;
}
}
@include super-link {
color: blue;
text-decoration: underline;
}
Załóżmy, że masz następujący mixin:
@mixin colors {
...
}
Używając dyrektywy @content
ustaw dla wszystkich linków odnoszących się
do #primary niebieski kolor czcionki
i faliste podkreślenie.