Stylus избежать все содержимое функции известково
/* .stylus */
.test1
$offset = 5px
$mult = 3
height calc(1em + $offset * $mult)
/* .css */
.test1 {
height: calc(1em + $offset * $mult);
}
так что вы можете использовать Sprintf подобный оператор %
, но это не реально легко te читать
/* .css */
.test2 {
height: calc(1em + 5px * 3);
}
вы можете создать calc2()
подмешать, которые используют calc()
но стилус будет пытаться сделать операцию
/* .stylus */
calc2($expr...)
'calc(%s)' % $expr
.test3
$offset = 5px
$mult = 3
height calc2(1em + $offset * $mult)
/* .css */
.test3 {
height: calc(16em);
}
так что вы должны избежать всех операторов. я думаю, что это более читаемым, чем метод Sprintf
/* .stylus */
calc2($expr...)
'calc(%s)' % $expr
.test4
$offset = 5px
$mult = 3
height calc2(1em \+ $offset \* $mult)
/* .css */
.test4 {
height: calc(1em + 5px * 3);
}
, если вы хотите, вы можете переименовать calc2()
подмешать calc()
, это работает
/* .stylus */
calc($expr...)
'calc(%s)' % $expr
.test5
$offset = 5px
$mult = 3
height calc(1em \+ $offset \* $mult)
/* .css */
.test5 {
height: calc(1em + 5px * 3);
}
или если вы не хотите, чтобы создать Смеситель, вы можете использовать calc()
с другим корпусом (Case()
или CASE()
например)
/* .stylus */
.test6
$offset = 5px
$mult = 3
height Calc(1em \+ $offset \* $mult)
/* .css */
.test6 {
height: Calc(1em + 5px * 3);
}