Я пытаюсь объединить имена классов в одно с помощью LESS расширить подмешать и этот простой пример не дает ожидаемых результатов:МЕНЬШЕ продлить не работает на импортируемый CSS
@import (less) "//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css";
.todoFlag:extend(.fa .fa-flag all) {
color: red;
}
.fa-flag
класс выше в импортирован CSS имеет только один переключатель, как это:
.fa-flag:before {
content: "\f024";
}
результат компиляции заключается в следующем:
.todoFlag {
color: red;
}
Я ожидал, что .todoFlag
будет иметь :before
из-за расширения, но выше это единственные строки, сгенерированные для todoFlag в скомпилированном css.
Правильно ли я использую удлинение? Продолжает ли работать на импортированные классы, как указано выше?
Более короткий синтаксис для '.todoIcon: extend (.fa all): extend (.fa-flag all)' is '.todoIcon: extend (.fa all, .fa-flag all)'. Вы также можете найти обновленную документацию LESS 'extend' [здесь] (https://github.com/less/less-docs/blob/master/content/features/extend.md) –
Обратите внимание, что, к сожалению, это будет работать только с версией шрифта «CSS» FontAwesome и НЕ «Меньшей» версией, поскольку ссылочные классы fa не существуют до компиляции, поэтому функция расширения просто бесшумно терпит неудачу и не расширяет определения до целевого класса. Я только что потратил 3 часа, пытаясь понять, почему это не сработает. –
Что делать '&: extend();' не работать, а только ': extend() {' work? также я вижу, что некоторые пользователи делают ': extend (c1, c2) {' почему он не работает для меня, и я должен определять их один за другим ': extend (c1): extend (c2) {' – deadManN