У вас логика по сути сводится к отсутствию значения. На это отсутствие и нужно проверять. Если никаких единиц измерения нет, то подставь
px
, а если единицы измерения передали в функцию, то ничего не делай.
В styles есть функция, которая отвечает за проверку единиц измерения (
unit).
Осталось написать логику
padding unit($value) == '' ? ($value)px : $value
Если передали число без единицы измерения
unit($value) == ''
, то к
$value
добавь
px
—
($value)px
Если хоть какую единицу измерения передали, то ничего не делай —
$value
Полный миксин
mixinName($value)
padding unit($value) == '' ? ($value)px : $value
margin unit($value) == '' ? ($value)px : $value
с примером
body
mixinName(10);
p
mixinName(10px);
b
mixinName(10rem);
компилируется в
body {
padding: 10px;
margin: 10px;
}
p {
padding: 10px;
margin: 10px;
}
b {
padding: 10rem;
margin: 10rem;
}