Можете ли вы импортировать файлы .css в файлы .less ...?
Я довольно знаком с меньшим количеством и использую это для всего моего развития. Я регулярно использую структуру следующим образом:
@import "normalize";
//styles here
@import "mixins";
@import "media-queries";
@import "print";
Все импортные файлы - это другие файлы .less и все работает как надо.
Моя текущая проблема заключается в следующем: я хочу импортировать файл .css в .less, который ссылается на стили, используемые в файле .css, следующим образом:
@import "../style.css";
.small {
font-size:60%;
.type;
}
// other styles here
Файл .css содержит класс с именем, .type
но когда я пытаюсь скомпилировать файл .less, я получаю сообщение об ошибкеNameError: .type is undefined
Будет ли файл .less не импортировать файлы .css, только другие файлы .less ...? Или я ссылаюсь на это неправильно ...?!
.less
расширением. Затем.less
укажите это как файл. Будучи символической ссылкой, он снимает с себя бремя синхронизации, так как ваши изменения .css немедленно влияют на импортируемый файл .less. Недостатком является то, что вы должны перекомпилировать окончательный CSS после последующих изменений. Для получения информации о создании символических ссылок в Windows введитеMKLINK /?
в командном окне.css
файл с помощью встроенного(less)
директивы и воспользоваться тем , что.css
синтаксис является допустимым.less
синтаксисомОтветы:
Вы можете принудительно интерпретировать файл как определенный тип, указав параметр, например:
будет выводить
и
импортирует
lib.css
файл и обрабатывает его как меньший. Если вы укажете, что файл меньше и не содержит расширения, он не будет добавлен.источник
(inline)
директива (см. Stackoverflow.com/a/22594082/160968 ) теперь предпочтительнее(inline)
не будет работать, потому что не преобразует внешние ссылки на шрифты или другие@import
файлы ed css. Вы просто получаете больший CSS-файл, который вызывает 404 HTTP-запроса ....Если вы хотите, чтобы ваш CSS копировался в вывод без обработки, вы можете использовать
(inline)
директиву . например,источник
@import (css) "styles.css";
не работал для меня(css)
этом@import
директива останется как есть, и в результате файл CSS будет загружен браузером во время выполнения; с(inline)
помощью, содержимое CSS-файла фактически импортируется в скомпилированную таблицу стилей, что вам и нужно, например, если этот файл находится вне корневого веб-каталога. Обратите внимание, что поведение по умолчанию при@import
загрузке.css
файла такое же, как и с(css)
флагом - для получения дополнительной информации прочтите документацию :)@import
директивы, так как это потребует «обработки».Мне пришлось использовать следующее с версией 1.7.4
Я знаю, что принятый ответ -
@import (css) "foo.css"
но он не сработал. Если вы хотите повторно использовать свой класс CSS в своем новом файле less, вам нужно использовать,(less)
а не использовать(css)
.Проверьте документацию .
источник
(less)
это единственная опция, если вы хотите повторно использовать некоторые стили файла CSS), но по какой-то причине @Fractalf удалил правильную часть в своем последнем редактировании.@import (less, reference) "foo.css"
Измените расширение вашего файла CSS на.less
. Вам не нужно писать в нем меньше; все CSS действительны МЕНЬШЕ (кроме тех вещей MS, от которых вы должны уйти, но это другая проблема.)За ответ Фрактальфа это исправлено в v1.4.0
источник
С сайта LESS :
Как отмечает jitbit в комментариях ниже, это действительно полезно только для целей разработки, так как вы не захотите использовать ненужные
@import
ресурсы, расходующие драгоценную пропускную способность.источник
@import
во время разработки, затем объединять и минимизировать импортированные файлы в единую таблицу стилей при переходе в производство.Попробуй это :
Из официальной документации:
Источник: http://lesscss.org/
источник
Если вы просто хотите импортировать CSS-файл в качестве ссылки (например, чтобы использовать классы в Mixins), но не включаете весь CSS-файл в результат, который вы можете использовать
@import (less,reference) "reference.css";
:my.less
reference.css
* Результат (my.css) с
lessc my.less out/my.css
*я использую
lessc 2.5.3
источник
&:extend(.reference-class all);
. Прямая ссылка на класс привела к ошибке компиляции.Если вы хотите импортировать файл css, который должен быть обработан как менее, используйте эту строку:
источник
с 1.5.0 вы можете использовать ключевое слово inline.
Пример: @import (inline) "not-less-compatibility.css";
Вы будете использовать это, когда файл CSS может быть менее совместимым; это потому, что хотя Less поддерживает большинство известных стандартов CSS, в некоторых местах он не поддерживает комментарии и не поддерживает все известные хаки CSS без изменения CSS. Таким образом, вы можете использовать это, чтобы включить файл в вывод, чтобы все CSS были в одном файле.
(источник: http://lesscss.org/features/#import-directives-feature )
источник