Директива @at-root во SASS
Директивата @at-root е наменета
за извлекување на правила од родителскиот селектор
во коренот на датотеката.
Да го разгледаме следниот пример со селектори од прво ниво на вгнездување:
.parent {
background-color: #fdd;
@at-root .child {
border: 1px solid;
}
}
Како резултат на компајлирањето, добивме следниот код:
.parent {
background-color: #fdd;
}
.child {
border: 1px solid;
}
А сега да ја видиме работата
на директивата @at-root со
повеќе селектори:
.main-parent {
background-color: #fdd;
@at-root {
.first-child {
border: 1px solid;
}
.second-child {
font-weight: bold;
}
}
.step-child {
color: #232523;
}
}
После компајлирањето, кодот изгледа вака:
.main-parent {
background-color: #fdd;
}
.first-child {
border: 1px solid;
}
.second-child {
font-weight: bold;
}
.main-parent .step-child {
color: #232523;
}
Кажете, каков ќе биде резултатот од компајлирањето на следниот код:
.primary-button {
background-color: #3272c7;
@at-root {
.block-button {
color: #ff0000;
}
.content-button {
color: #ccb42a;
}
}
.warning-button {
border: 2px solid #232523;
}
}