2015-08-28 2 views
28

В стилусе, как использовать variable в выражении calc?Как использовать переменную Stylus в calc?

Например, следующее не работает (arrow-size быть переменной):

arrow-size = 5px 
left calc(50% - arrow-size) 
+1

На всякий случай, когда вы не знали, Stylus позволяет вам непосредственно выполнять вычисления: 'left (50% - размер стрелки)'. Но я думаю, что могут быть моменты, когда вы хотите, чтобы фактический 'calc' отображал – nachocab

+0

' left (50% - размер стрелки) 'становится' 45% ', что неверно, если вы смешиваете такие единицы. –

ответ

47

Для того, чтобы использовать переменную Stylus внутри выражения известково, нужно использовать в string % operator:

arrow-size = 5px 
left "calc(50% - %s)" % arrow-size 
23

Чтобы использовать несколько переменных (не только один) в calc (или с другими функциями), я использую sprintf, как вы использовали, но с кортежами:

arrow-size = 5px 
measure = 50% 
left "calc(%s - %s)" % (measure arrow-size) 

Помните, что interepolation в Stylus поддерживается через {} и используется для других видов интерполяции. Он используется для окружения выражения, которое затем становится частью идентификатора или селектора.