Вы можете создавать свои собственные функции, которые возвращают либо true
, либо false
на основе единицы, которую вы проверяете.
Уго Жираудель написал о расширенной проверке типов в Sass someлет назад, и сделал несколько полезных фрагментов, которые вы могли бы использовать повторно.
Например, вы можете проверить, является ли значение числом с единицей em
или px
, как это (удалите один из них изindex()
, если вы хотите проверить единицу измерения):
@function is-em($value) {
@return is-number($value) and index('em', 'px', unit($value)) != null;
}
@debug is-em(42em); // true
@debug is-em(42px); // true
@debug is-em(42vw); // false
Или, если значение является числом с единицей %
, например:
@function is-percentage($value) {
@return is-number($value) and unit($value) == "%";
}
@debug is-percentage(42.1337%); // true
@debug is-percentage(42cm); // false
Возможно, неттак же просто, как примеры тестов в вашем вопросе, но единственный способ, которым я могу придумать, проверить такие числа и единицы измерения, как этот.