Я хочу, чтобы иметь возможность проверить два цвета для их контраста и испустить предупреждение, если контраст ниже определенного порога. Вот мой код:функция вызова без возвращаемого значения в Sass
@function contrast-check($color1, $color2, $threshold: 4.5) {
@if contrast($color1, $color2) < $threshold {
@warn 'contrast #{$contrast} between #{$color1} and #{$color2} too low!';
}
}
Проблема в том, что я не могу назвать эту функцию нигде. Вот то, что я пробовал:
contrast-check(#fff, #000);
- Ошибка: недопустимый CSS после того, как '...': ожидается 1 селектор или властвуй, был "Раст-чек (#fff ..."$: contrast-check(#fff, #000);
- Ошибка: Функция контрастная проверка не возвращает значение* {test: contrast-check(#fff, #000);}
- Ошибка: Функция контраст проверка не возвращает значение
Я мог бы преобразовать функцию к смешиванию Тогда можно было бы назвать его. как и предполагалось. Но mixins не могут использоваться из других функций.
Другим вариантом может быть возврат произвольного значения. Это будет работать, но также будет крайне хаки, потому что при каждом вызове функции вам придется присваивать это значение переменной throw-away.
Есть ли хороший способ сделать это?
Возвращение 'null' в качестве произвольного значения может быть хорошим вариантом, поскольку любые свойства со значением' null' будут пропущены на выходе. – tobib
Ошибка сообщает вам, что именно вы должны делать. Вы просто просите мнения на этот момент (и просить мнения не по теме). – cimmanon
Cimmanon. Я совершенно уверен, что он может понять сообщение об ошибке, но не хочет использовать возвращаемое значение, потому что ничего не вернуть. Он спрашивает, есть ли лучший способ сделать это, и это общая проблема, которая обсуждалась на странице проблем SASS Github, поэтому это очень полезный и полезный вопрос. Прекратите троллинг тега SASS. Если у вас нет ничего полезного, чтобы внести свой вклад .... – jonhobbs