Как передать переменные из одной таблицы стилей lesscss во включенную таблицу стилей?

Я пытаюсь использовать lesscss для создания системы шаблонов, в которой каждый шаблон имеет 3 или 4 альтернативные цветовые схемы.

Так, например, у меня может быть таблица стилей red.less, которая выглядит так:

@main_colour: #ff0000;
@import 'main.less';

Итак, мне нужно поддерживать только одну таблицу стилей main.less, которая содержит все основные стили и использует набор переменных для цветовых кодов. Затем я могу создать отдельный файл colour.less для каждой цветовой схемы.

Единственная проблема заключается в том, что когда я пытаюсь это сделать, я получаю Less::VariableNameError, что указывает на то, что МЕНЬШЕ анализирует @imports ДО того, как он анализирует переменные.

Есть ли обходной путь для этого или любого другого способа достижения того же конечного результата?


person aaronrussell    schedule 05.01.2010    source источник


Ответы (4)


Что касается вашего твита, да, это будет работать так, как вы ожидаете в Sass. Я на самом деле немного удивлен, что это не работает в Less.

person Natalie Weizenbaum    schedule 06.01.2010
comment
Спасибо, что подтвердили это. Еще не поздно перейти на SASS, единственная причина, по которой я этого не сделал изначально, связана с синтаксисом. Я слышал, что SASS работает над синтаксисом, более похожим на CSS (например, LESS). Вы знаете, насколько это близко к реальности? - person aaronrussell; 06.01.2010
comment
Это на самом деле в основном используется сегодня. Код доступен в ветке scss репозитория (github.com/nex3/haml/commits/ scs). На данный момент он не очень хорошо документирован, и ему не хватает полировки, но он поддерживает почти все, что делает Sass (за исключением интерполяции скриптов в селекторах и свойствах, которая должна появиться в ближайшие пару дней). Если вы устанавливаете эту ветку, вам нужно просто назвать ваши файлы .scss и вперед. - person Natalie Weizenbaum; 07.01.2010
comment
Спасибо. Удалось выяснить синтаксис SCSS, просмотрев ваши тесты (хотя я с нетерпением жду документации). Кажется, работает так, как ожидалось, поэтому, если я не получу ответ от парней LESS довольно быстро, я переведу этот проект на SASS. :) - person aaronrussell; 07.01.2010

Я предполагаю, что ребята из Less хотели, чтобы файл .Less был атомарным и независимым от внешних настроек среды. Это то, что я предполагал, но мне это также не понравилось, поэтому наш порт .NET http://www.dotlesscss.com позволит вам сделать это по умолчанию.

Это не большое изменение в оригинальной версии Less ruby, и если вы хотите возиться с исходным кодом, я могу указать вам правильное направление.

Из интереса, не предав команду Less, мне теперь очень нравится синтаксис SASS, и есть дополнительные вещи, такие как условные операторы и циклы, которые вы не можете (пока) сделать с Less.

@nex3 - вы, ребята, должны перестать конкурировать и просто работать вместе.

person Owen    schedule 07.01.2010
comment
Спасибо. Прошлой ночью я нашел форк LESS, который, кажется, делает то, что мы все хотим: /less/commit/ Тем не менее, теперь я не хочу продолжать использовать Less, используя «хакерский» подход, плюс я просто чувствую, что команда SASS немного лучше разбирается в вещах. - person aaronrussell; 07.01.2010

Похоже, это больше не проблема, или, по крайней мере, не для меня, использующего «без точек» для .net?

person Albin    schedule 25.02.2011

Кажется, теперь все работает нормально с последней версией LESS.

person Philip Seyfi    schedule 31.05.2012