Краткий Обзор Различий Между Less И Sass

Вчера я потратил полдня на детальное изучение МЕНЬШЕ и его отличие от тех, которые мы используем САСС/СКСС .

Синтаксис SASS мне нравится больше, чем SCSS, из-за его краткости.

Но массовое вложение стилей в SASS может быстро свести на нет преимущества его краткости.

В любом случае разница между SASS и SCSS не принципиальна.

LESS оказался ближе к SCSS, чем к SASS. И, в общем, это то же самое.

Отличий не так много, но парочка из них кардинально меняет расстановку сил.



1. LESS — можно на стороне клиента с помощью JS.

Точнее, он не то чтобы может, он для этого создан.

Общая практика использования кода LESS:

<link rel="stylesheet/less" type="text/css" href="styles.less"> <script src="less.js" type="text/javascript"></script>

Именно тогда к нему добавилась возможность компиляции на сервере (как js, так и Ruby).

На первый взгляд это странное свойство.

Зачем компилировать на стороне клиента, если вы можете прекрасно скомпилировать на сервере и использовать готовый сжатый CSS, как мы привыкли с SASS? Причина становится видна после изучения самой незаметной последние строки документации для LESS :

@height: `document.body.clientHeight`;

Такая маленькая одинокая линия предоставляет возможности, о которых верстальщики только мечтали с момента начала освоения стилей.

Вызов клиентского Java-скрипта из CSS и учет реальных настроек браузера при создании стилей.

То есть у нас теперь есть возможность сначала загрузить DOM, а затем создать для него специальный CSS прямо на стороне клиента.

Тогда подумайте сами, какие возможности это открывает. Нужно ли это вашему проекту – другой вопрос.

Понятно, что все привыкли к клиентской неопределенности/независимости и верстке в стиле «мы делаем универсально, чтобы более-менее всем было показано во всех разрешениях».

Но это не повод забывать, что сейчас такая возможность существует и с ее помощью можно сделать, например, очень гибкую планировку.



2. LESS, в отличие от SASS/SCSS, не имеет логики.

В LESS нет операторов if/then, for и т. д. Хотя, учитывая, что JS в него легко встраивается, логику, думаю, вполне можно вкрутить.

Я не пробовал.



3. В LESS смешивать проще + можно смешивать классы.

Мне очень понравилось то, что в LESS можно включать в определение свойства других классов.

Сам класс является миксином.

Это еще одна функция, которой нет в SASS/SCSS. Вы можете включить в LESS обычный CSS-файл и использовать его классы для определения своих свойств.

Например:

.

wrap { text-wrap: wrap; white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word; } pre { .

wrap }



Краткое содержание

За исключением 1-го пункта, разница невелика и выбор больше для любителя.

Лично для меня LESS выглядит более привлекательным из-за своей простоты.

Раньше мне никогда не требовались циклы и условия в стилях.

Классические утилиты, такие как «box-shadow, линейный градиент, затемнение», доступны в LESS. Да, для SASS уже написано много готовых библиотек ( компас , бурбон и достаточно широкое сообщество), но и под LESS там то же самое Твиттер-бутстрап и этого более чем достаточно.

P.S. Нашел страницу сравнения SASS против МЕНЬШЕ и вместе с ним я открыл для себя интересный сервис аргументированных сравнений wrangl.com Теги: #less #sass #scss #CSS #верстка #Разработка сайтов

Вместе с данным постом часто просматривают: