Blokovi sadržaja u miksinima u SASS-u
Za prosleđivanje bloka stilova unutar
miksina koristimo direktivu @content,
na čije mesto će stati potrebni nam stilovi.
Razmotrimo primer:
styles.scss@mixin active {
* div {
@content;
}
}
@include active {
#block {
color: red;
}
}
Rezultat kompilacije:
styles.css* div #block {
color: red;
}
Neophodno je znati da će se,
ako navedemo direktivu @content
više od jednog puta ili unutar petlje,
isto toliko puta pozivati i blok stilova.
styles.scss@mixin active {
div {
@content;
}
navbar {
@content;
}
}
@include active {
#block {
color: red;
}
button {
color:green;
}
}
Nakon kompilacije videćemo:
styles.cssdiv #block {
color: red;
}
div button {
color: green;
}
navbar #block {
color: red;
}
navbar button {
color: green;
}
Задание 1
Objasnite, kakav će biti rezultat kompilacije sledećeg koda:
styles.scss@mixin super-link {
a {
@content;
}
}
@include super-link {
color: blue;
text-decoration: underline;
}
Задание 2
Objasnite, kakav će biti rezultat kompilacije sledećeg koda:
styles.scss@mixin super-link {
a {
@content;
}
a .primary-link{
@content;
font-weight: bold;
}
}
@include super-link {
color: blue;
text-decoration: underline;
}
Задание 3
Neka postoji sledeći miksin:
styles.scss@mixin colors {
...
}
Koristeći direktivu @content
podesite za sve linkove koji pripadaju
#primary plavu boju fonta
i talasasto podvlačenje.