Функция динамического построения свойств в Stylus выдает ожидаемое ":", got "["
У меня есть следующий код стилуса
spaces = {
none: 0,
xxx-small: .125,
xx-small: 25,
x-small: .5,
small: .75
medium: 1,
large: 1.5,
x-large: 2,
xx-large: 3
}
properties = top, right, bottom, left
types = {
m: margin,
p: padding
}
space()
for type in types
for property in properties
for space in spaces
.{type}-{property}--{space}
{types[type]}-{property}: {spaces[space]}rem
space()
Я хотел бы вывести что-то вроде:
.m-top--none {
margin-top: 0rem;
}
.m-top--xxx-small {
margin-top: 0.125rem;
}
etc
Однако я сталкиваюсь с ошибкой:
ожидаемый ":", получил "["
Есть идеи, что я здесь не так сделал? Если я возьму {spaces[space]}rem
и просто заменить на 1000%
как пример, похоже на работу?
1 ответ
Решение
Стилус в настоящее время не поддерживает интерполяцию внутри значений свойств. Вам нужно использовать ()
в этом случае:
{types[type]}-{property}: (spaces[space])rem