Direktíva @at-root v SASS
Direktíva @at-root je určená
na extrahovanie pravidiel z nadradeného selektora
do koreňa súboru.
Pozrime sa na nasledujúci príklad s selektormi prvej úrovne vnorenia:
style.scss.parent {
background-color: #fdd;
@at-root .child {
border: 1px solid;
}
}
Výsledkom kompilácie je nasledujúci kód:
styles.css.parent {
background-color: #fdd;
}
.child {
border: 1px solid;
}
A teraz sa pozrime na fungovanie
direktívy @at-root s
viacerými selektormi:
style.scss.main-parent {
background-color: #fdd;
@at-root {
.first-child {
border: 1px solid;
}
.second-child {
font-weight: bold;
}
}
.step-child {
color: #232523;
}
}
Po kompilácii vyzerá kód takto:
styles.css.main-parent {
background-color: #fdd;
}
.first-child {
border: 1px solid;
}
.second-child {
font-weight: bold;
}
.main-parent .step-child {
color: #232523;
}
Задание 1
Popíšte, aký bude výsledok kompilácie nasledujúceho kódu:
styles.scss.primary-button {
background-color: #3272c7;
@at-root {
.block-button {
color: #ff0000;
}
.content-button {
color: #ccb42a;
}
}
.warning-button {
border: 2px solid #232523;
}
}