РЕДАКТИРОВАТЬ: Проблема может быть с ошибкой в бесцеремонном, что мы и используем.Меньше Mixin, используя переменную в селекторе атрибутов
Я пытаюсь написать метод Less Mixin для написания множества стилей CSS. Общий формат метода:
.icon-styles(@name) {
[email protected]{name}-icon {
background-image: url('../images/[email protected]{name}.png');
display: none;
}
[[email protected]{name}="true"] [email protected]{name}-icon {
display: inline-block;
}
}
Такое, что является видимым только, если содержащий объект имеет соответствующий набор атрибутов.
Однако я получаю сообщение об ошибке на селектор атрибута, говоря:
Expected ']' but found '{'
Указав на @
в квадратных скобках.
Я нашел этот пост:
LESS mix variable into attribute name in an attribute selector expression
С подобным вопросом, и ответ предполагает, что это может быть ошибка, но, к сожалению, обходной путь не работает для меня. Я получаю ту же ошибку при попытке записать attr
внутри скобок.
Я также пытался писать так:
[~'[email protected]{name}'="true"] [email protected]{name}-icon {
Что избавляется от ошибки, но затем @ {имя} не будет решена в результате CSS.
Кто-нибудь знает, есть ли способ достичь того, чего я хочу?
Это то, что я пробовал. Попробовал это снова, просто вырезал-в-вставку из вашего ответа, и я до сих пор получаю: «Ожидаемый»), но нашел «{» '... –
Я также попытался (просто посмотреть, что произойдет):' [icon-name = @ {name}] 'и я получаю ту же ошибку. –
@SvendHansen: Это должен быть ваш конкретный процессор LESS, который вы используете, поскольку приведенный выше код работает на [less2css.org] (http://less2css.org/) до версии 1.4. – ScottS