#css #sass
#css — код #нахальство #css #sass
Вопрос:
Я написал Sass mixin, который работает, как и ожидалось, за исключением одной проблемы: директива @content, похоже, включает родительский селектор, а не только содержимое, заключенное в круглые скобки к mixin.
Микширование:
@mixin breakpoint($parameters){
$query: 'screen and ';
@each $variable, $value in $parameters {
$query: $query '(' $variable ':' $value ') and ';
};
$query: str-slice($query, 0, -5);
@media #{$query} { @content; };
}
Я пытаюсь использовать его следующим образом:
#div {
background-color: blue;
@include breakpoint((max-width:500px)) {
background-color: purple;
};
}
Однако это компилируется до следующего, с повторением идентификатора #div:
#div {
background-color: blue; }
@media screen and (max-width: 500px) {
#div {
background-color: purple; } }
Желаемый результат:
#div {
background-color: blue;
@media screen and (max-width: 500px) {
background-color: purple;}
}
Любая помощь в устранении этой проблемы очень ценится!
Комментарии:
1. Вывод правильный la. Он будет скомпилирован в css. Итак, со 2-го по последнее верно. И ваш желаемый результат недействителен в css.
2. @HermLuna Ого, я так увлекся Sass, что забыл об окончательном преобразовании в CSS! Спасибо за помощь, вы абсолютно правы.
3. Потому что я тоже попал в это. Это брат SCSS. У Sass другой синтаксис. Намного короче. Не нужно писать @mixin. Простое использование =. Include означает использование символа ( ).