Я пытаюсь «перевести» сасс-функцию в меньшую функцию. Вот оригинал SASS один:Переменная интерполяция для свойства медиа-запроса меньше - отсутствует закрытие ")"
@mixin bp($feature, $value) {
// Set global device param
$media: only screen;
// Media queries supported
@if $mq-support == true {
@media #{$media} and ($feature: $value) {
@content;
}
// Media queries not supported
} @else {
@if $feature == 'min-width' {
@if $value <= $mq-fixed-value {
@content;
}
} @else if $feature == 'max-width' {
@if $value >= $mq-fixed-value {
@content;
}
}
}
}
А вот функция, которую я начал делать меньше, как это кажется каждая декларация не может быть реализована так же, как и в дерзости:
.bp(@feature; @val) when (@mq-support = true) {
@med: ~"only screen";
@media @{med} and (@{feature}:@val) {
@content;
}
}
Когда я «м компиляции этого, я получил следующее сообщение об ошибке:
Missing closing ')' on line 15, column 34:
15 @media @{med} and (@{feature}:@val) {
16 @content;
Так эта ошибка, кажется, исходит от закрытия @ {} особенность закрывающей скобки, но после документации и СЕВЕРА l в блогах в Интернете, кажется, что, поскольку версия версии 1.6.0 меньше, интерполяция свойств css - это функция, которая должна работать.
Есть ли у кого-нибудь представление о том, что может быть неправильным здесь? Можно ли использовать переменную как свойство в запросе на медиа?
Возможно, я делаю это совершенно неправильно, но кажется, что mixins guard feature меньше работает не так же, как при использовании SASS и @if, поэтому «перевод» немного отличается.
Спасибо заранее
Себастьен
Почему ваш код sass содержит меньше переменных? @feature, но не $. – 3rdthemagical
@ 3rdthemagical Я уже заменил переменные и вставил их по ошибке ... извините, это должно быть $ feature EDIT: я обновил исходную функцию SASS – johndoe