Знакомимся со Stylus. Какой препроцессор выбрать? Объявление переменных в Sass

    Доброго времени суток.

    Поисковик Яндекс не менее популярный, чем тот же Гугл, где имеется интересующая нас функция/опция под названием голосовой поиск.

    Для установки голосового поиска на Яндекс нужно будет поставить программу, которая назыается Яндекс. Строка. После установки этой программы появится микрофон, что будет означать установку голосового поиска. Скажите Слушай, Яндекс и голосовой поиск активируется (это подобие Ок Гугл).

    Подробно о том, как работает Строка, как е настроить, можно прочитать вот здесь.

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

    Голосовой поиск станет доступным при установке приложения Яндекс.Строка с официального сайта yandex. Скачать и установить данную программу можно абсолютно бесплатно. Потребуется немного времени, после чего появится знакомая многим иконка микрофона. Не забудьте подключить микрофон перед ее использованием.

    Другим хитрым вариантом является использование эмулятора ОС Android для домашнего компьютера под управлением Windows. Программа называется BlueStacks. Поиск осуществляется в браузере в среде эмулятора.

    Универсальным выходом из этой ситуации будет установка программы под названием Яндекс строка. А так то, если именно в каком-то браузере это использовать то проблематично. Я вот как раз этим сейчас занимаюсь, поэтому и зашел на этот вопрос. Пока удалось справиться с проблемой лишь в браузере Файрфокс. Я установил в нем визуальные закладки Яндекс. Так там на странице этих визуальных закладок имеется строка поиска в Яндекс и значок микрофона. Вот нажимаешь если на микрофон, то можно говорить голосом. После того как сказали свой запрос голосом идет поиск его в Яндекс поиске. На скриншоте часть этих визуальных закладок, если присмотреться то виден значок микрофона бледно-серого цвета. Вот на него и нужно нажать.

    Продолжается стремительное развитие прогресса, который радует нас значительным упрощением жизни. В Компании Яндекс довольно известная поисковая система, которая очень популярна. С недавних пор поиск в Яндексе осуществляется не только клавиатурой, но и голосом. Для этого было реализовано спецпредложение Яндекс.Строка, что является специальным программным обеспечением. А как установить это программное обеспечение - это сюда.

    В Яндексе есть похожая функция на подобие Окей Гугл. Называется Яндекс строка. Для его правильного функционирования у вас должен быть микрофон.

    Для начала Вам необходимо установить программу на компьютер, скачав ее с сайта яндекс. Программа полностью бесплатная. После простой установки и перезагрузки браузера можно сразу начинать ею пользоваться. Для этого необходимо нажать на значок микрофона или произнести голосовую команду Слушай яндекс. После чего строка будет ждать вопроса или команды Открой, Запусти или Включи.

    У Яндекса голосовые функции работают даже лучше, чем у Гугла, хотя в Я. можно искать только по-русски. Для этого необходимо установить Яндекс.Строку, которая позволит не только искать через поиск, но и управлять компьютером, вплоть до изменения параметров антивируса и выключения системы.

    В Яндекс.Строке работает не только фраза Окей Яндекс, а и Привет Яндекс и т. д.

    Вы сможете открывать отдельные сайта при помощи команды Открыть сайт + его название.

    В общем, штука полезная, но пригодится нормальный микрофон, чтобы Яндекс вас услышал!

    Да,есть такая возможность установить голосовой поиск для поисковика Яндекс,для этого надо скачать приложение Яндекса-Яндекс.Строка,установить его на свой компьютер,и в панели задач вашего компьютера появится иконка голосового поиска,достаточно кликнуть на значок микрофона на ней или сказать Слушай,Яндекс,и приложение активирует голосовой поиск Яндекса.

    Бесплатное приложение Яндекс Строка

    поисковой системы Яндекс вам позволить без набора текста вопроса в строке поиска найти ответ на интересующийся вас вопрос.

    Для этого достаточно установить данное приложение и сделать запрос который делается по установленной в программе команде Слушай, Яндекс затем нажимаем на специальный значок микрофон.

    Программу установить можете перейдя на эту СТРАНИЦУ.

    Вся информация по установке и работы с ней, там же.

    Я так понимаю, что вы хотите подобный голосовой поисковик, который есть в гугле. Но зачем вам замарачиваться и искать и устанавливать голосовой поисковик, не проще ли просто сказать гуглу - ой, Гугл - найти все о солнечной системе (к примеру). Все же тем, кто хочет вс-таки заморочиться и установить голосовой поиск в Яндексе, для вас пришлось разущнать у друга компьютнрщике об этом. Рассказывал, скачиваем приложение для голосового яндекса - Яндекс.строка, далее осталось его только установить себе на свой компьютер.

    В Яндексе есть такая функция. Называется Яндекс-Строка. Работает отдельно от браузера и распространяется бесплатно. Для того, чтобы иметь голосовой поиск, скачиваете Яндекс-Строка. Устанавливаете, нажимаете Пуск и появляется иконка с микрофоном. Можете говорить.

Человек, работающий с компьютером, не всегда нуждается в нахождении возле него. Кроме того, он часто не может подойти или вынужден что-то делать в отдалении от средства работы, нуждаясь в информации. В таком случае ему поможет поиск с помощью голосовых фраз или команд, реализованных в расширении Голосовой помощник Windows (раньше назывался Яндекс строка). Этот материал рассказывает о том, как установить и использовать расширение.

Установка расширения

Установить голосовой поиск в Яндекс браузере достаточно просто. Нужно иметь микрофон, соединение с интернетом, и дистрибутив браузера, поддерживаемый расширением. Пользователям с Украины следует использовать сайт-анонимайзер или Vpn-соединение. Чтобы расширение работало правильно, его следует устанавливать на операционные системы Windows 7–10. Для этого на промостранице Яндекса следует загрузить установочный файл и следовать инструкциям, кликнув на него.

  • оперативно получить ответ на вопрос;
  • узнать погоду и одеться по ней;
  • узнать текущее число и день;
  • выбрать желаемое место;
  • определить свое местонахождение;
  • определить маршрут;
  • провести финансовые расчеты;
  • подавать команды на компьютер.

Процесс установки при запуске его из браузера Яндекс будет выглядеть таким образом.

На указанной странице следует нажать кнопку установить.

Через несколько секунд в правом верхнем углу окна появится сиреневый кружок с белым треугольником в центре. Кликните на него, и начнется установка голосового помощника Алисы.

Если у вас нет микрофона, то откроется окно с ошибкой, сообщающей, что он недоступен. Приложение предложит подключить его с помощью настроек.

Вы можете установить по-другому, найдя установочный файл, который придется скачать на компьютер.

Активация и использование

Чтобы применять голосовые команды и пользоваться иными функциями программы, нужно подключить микрофон и сделать настройки. Вставив упомянутое устройство в подходящий разъём, следует перейти в Диспетчер устройств и активировать его. Владельцам некоторых моделей ноутбуков придется постараться больше. После этих простых манипуляций легко убедиться в том, что настроить русский аналог Кортаны достаточно просто, и ответить на вопрос, как включить голосовой помощник тоже просто.

Искать нужные сведения также легко и удобно:
кликните на поле со значком микрофона на панели задач Windows внизу экрана;
произнесите нужные слова;
когда они появятся в строке, запустится Яндекс браузер или другой, указанный в настройках;
знакомьтесь с результатами поиска.

Расширение применяет стандартные средства поиска Яндекса, создавая свою панель закладок.
Панель расширения занимает много места в нижней части экрана компьютера, что не вполне удобно, поэтому её можно временно отключить. Для этого достаточно кликнуть правой кнопки мыши на пустое место на панели задач, выбрать пункт панели и снять птицу с Голосового помощника.

То есть работать с голосовым поиском очень просто, легко и удобно. Также удобно его удалять. Без труда устанавливаем, без труда и удаляем. Заходим в Панель управления, выбираем Удаление программы. В списке выбираем голосовой помощник и нажимаем удалить.

Голосовые команды и настройки

Как уже упоминалось, голосом можно не только искать информацию, но и подавать команды. Список поддерживаемых команд невелик, поэтому при нечетко произнесенных словах программа будет либо искать близкие по произношению фразы в Сети, либо выведет на экран полный список названий программ, параметров системы, файлов и папок.

Речевыми средствами можно дать простые команды. Например, такие:

  • открыть сайт;
  • открыть программу;
  • открыть папку;
  • выключить компьютер.

Заключение

Таким образом, зайти на Яндекс, найти, установить и удалить программу голосового поиска не составит особого труда. Пользоваться ей тоже нетрудно. Человек говорит ключевую фразу и получает желаемый результат. Однако сегодня её применение ограничено, так как, в отличие от полноценной поисковой системы, нет очевидных возможностей задать критерии поиска по времени, региону, расстоянию между словами, искать точное совпадение и др. Список возможных действий с программами тоже ограничен и мало возможностей для настройки.

Использование истинной мощности препроцессора CSS - это приключение. Есть бесчисленные языки, синтаксисы и функции, все готовые к использованию прямо сейчас.

В этой статье мы рассмотрим различные возможности и преимущества использования трех разных препроцессоров: Sass, LESS и Stylus.

Введение

Препроцессоры создают CSS, который работает во всех браузерах.

Препроцессоры CSS3 - это языки, написанные с единственной целью добавления классных, изобретательных функций в CSS без нарушения совместимости с браузером. Они делают это, компилируя код, который мы пишем, в обычный CSS, который можно использовать в любом браузере, вплоть до каменного века. Есть тысячи функций, которые препроцессоры приносят в таблицу, и в этой статье мы рассмотрим некоторые из опубликованных и некоторые из не-оглавленных. Давайте начнем.

Синтаксис

Самой важной частью написания кода в препроцессоре CSS является понимание синтаксиса. К счастью для нас, синтаксис (или может быть) идентичен регулярному CSS для всех трех препроцессоров.

Sass &LESS

Sass и LESS используют стандартный синтаксис CSS. Это упрощает преобразование существующего файла CSS в препроцессор. Sass использует расширение.scss, а LESS использует расширение.less. Базовый файл Sass или LESS можно настроить следующим образом:

/* style.scss or style.less */
h1 {
color: #0982C1;
}

Как вы могли заметить, это просто обычный CSS, который отлично компилируется как в Sass, так и в LESS.

Важно отметить, что Sass также имеет более старый синтаксис, который пропускает точки с запятой и фигурные скобки. Хотя это все еще вокруг, оно устарело, и мы не будем использовать его в этом примере. Синтаксис использует расширение.sass и выглядит так:

/* style.sass */
h1
color: #0982c1

Stylus

Синтаксис для Stylus гораздо более подробный. Используя расширение файла.styl, Stylus принимает стандартный синтаксис CSS, но также принимает некоторые другие варианты, в которых скобки, двоеточия и полуколоны являются необязательными. Например:

/* style.styl */
h1 {
color: #0982C1;
}
/* omit brackets */
h1
color: #0982C1;
/* omit colons and semi-colons */
h1
color #0982C1

Использование разных вариаций в одной таблице стилей также является допустимым, поэтому следующее будет компилироваться без ошибок.

H1 {
color #0982c1
}
h2
font-size: 1.2em

Переменные

Переменные могут быть объявлены и использованы во всей таблице стилей. Они могут иметь любое значение, которое является значением CSS (например, цветами, числами [включенными единицами] или текстом.), И их можно ссылаться везде в нашей таблице стилей.

Sass

Переменные Sass добавляются с символом $, а значение и имя разделяются точкой с запятой, как и свойство CSS.

$mainColor: #0982c1;
$siteWidth: 1024px;
$borderStyle: dotted;
body {
color: $mainColor;
border: 1px $borderStyle $mainColor;
max-width: $siteWidth;
}

LESS

LESS-переменные точно такие же, как переменные Sass, за исключением того, что имена переменных добавляются с символом @.

@mainColor: #0982c1;
@siteWidth: 1024px;
@borderStyle: dotted;
body {
color: @mainColor;
border: 1px @borderStyle @mainColor;
max-width: @siteWidth;
}

Stylus

Переменные Stylus не требуют для них добавления, хотя он позволяет использовать символ $. Как всегда, конечная точка с запятой не требуется, но знак равенства между значением и переменной есть. Следует отметить, что Stylus (0.22.4) компилируется, если мы добавим символ @ к имени переменной, но не будем применять значение при ссылке. Другими словами, не делайте этого.

MainColor = #0982c1
siteWidth = 1024px
$borderStyle = dotted
body
color mainColor
border 1px $borderStyle mainColor
max-width siteWidth

Скомпилированный CSS

Каждый из вышеуказанных файлов будет скомпилирован с тем же CSS. Вы можете использовать свое воображение, чтобы узнать, насколько полезны переменные. Нам больше не нужно будет менять один цвет и повторить его двадцать раз, или мы хотим изменить ширину нашего сайта и вынуждены его искать, чтобы найти его. Вот CSS после компиляции:

Body {
color: #0982c1;
border: 1px dotted #0982c1;
max-width: 1024px;
}

Вложение

Если нам нужно ссылаться на несколько элементов с одним и тем же родителем в нашем CSS, может быть утомительно продолжать писать родителя снова и снова.

Section {
margin: 10px;
}
section nav {
height: 25px;
}
section nav a {
color: #0982C1;
}
section nav a:hover {
text-decoration: underline;
}

Вместо этого, используя препроцессор, мы можем записать дочерние селекторы внутри скобок родителя. Кроме того, символ &обозначает родительский селектор.

Sass, LESS и Stylus

Все три препроцессора имеют одинаковый синтаксис для селекторов вложенности.

Section {
margin: 10px;
nav {
height: 25px;
a {
color: #0982C1;
&:hover {
text-decoration: underline;
}
}
}
}

Скомпилированный CSS

Это скомпилированный CSS из приведенного выше кода. Это точно так же, как когда мы начали - как удобно!

Section {
margin: 10px;
}
section nav {
height: 25px;
}
section nav a {
color: #0982C1;
}
section nav a:hover {
text-decoration: underline;
}

Mixins

Микшины - это функции, которые позволяют повторно использовать свойства в нашей таблице стилей. Вместо того, чтобы идти по всей нашей таблице стилей и менять свойство несколько раз, теперь мы можем просто изменить его внутри нашего mixin. Это может быть действительно полезно для конкретного стиля элементов и префиксов поставщиков. Когда mixins вызывается из селектора CSS, аргументы mixin распознаются, а стили внутри mixin применяются к селектору.

Sass

/* Sass mixin error with (optional) argument $borderWidth which defaults to 2px if not specified */
@mixin error($borderWidth: 2px) {
border: $borderWidth solid #F00;
color: #F00;
}
.generic-error {
padding: 20px;
margin: 4px;
@include error(); /* Applies styles from mixin error */
}
.login-error {
left: 12px;
position: absolute;
top: 20px;
@include error(5px); /* Applies styles from mixin error with argument $borderWidth equal to 5px*/
}

МЕНЬШЕ

/* LESS mixin error with (optional) argument @borderWidth which defaults to 2px if not specified */
.error(@borderWidth: 2px) {
border: @borderWidth solid #F00;
color: #F00;
}
.generic-error {
padding: 20px;
margin: 4px;
.error(); /* Applies styles from mixin error */
}
.login-error {
left: 12px;
position: absolute;
top: 20px;
.error(5px); /* Applies styles from mixin error with argument @borderWidth equal to 5px */
}

стилус

/* Stylus mixin error with (optional) argument borderWidth which defaults to 2px if not specified */
error(borderWidth= 2px) {
border: borderWidth solid #F00;
color: #F00;
}
.generic-error {
padding: 20px;
margin: 4px;
error(); /* Applies styles from mixin error */
}
.login-error {
left: 12px;
position: absolute;
top: 20px;
error(5px); /* Applies styles from mixin error with argument borderWidth equal to 5px */
}

Скомпилированный CSS

Все препроцессоры составляют один и тот же код:

Generic-error {
padding: 20px;
margin: 4px;
border: 2px solid #f00;
color: #f00;
}
.login-error {
left: 12px;
position: absolute;
top: 20px;
border: 5px solid #f00;
color: #f00;
}

Наследование

При написании CSS старомодным способом мы могли бы использовать следующий код для одновременного применения одних и тех же стилей к нескольким элементам:

P,
ul,
ol {
/* styles here */
}

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

Sass &Stylus

.block {
margin: 10px 5px;
padding: 2px;
}
p {
@extend
border: 1px solid #EEE;
}
ul, ol {
color: #333;
text-transform: uppercase;
}

Скомпилированный CSS (Sass &Stylus)

.block, p, ul, ol {
margin: 10px 5px;
padding: 2px;
}
p {
border: 1px solid #EEE;
}
ul, ol {
color: #333;
text-transform: uppercase;
}

МЕНЬШЕ

LESS действительно не поддерживает наследование стилей, таких как Sass и Stylus. Вместо добавления нескольких селекторов к одному набору свойств он рассматривает наследование как mixin без аргументов и импортирует стили в свои собственные селекторы. Недостатком этого является то, что свойства повторяются в вашей скомпилированной таблице стилей. Вот как вы его настроили:

Block {
margin: 10px 5px;
padding: 2px;
}
p {
.block; /* Inherit styles from ".block" */
border: 1px solid #EEE;
}
ul, ol {
.block; /* Inherit styles from ".block" */
color: #333;
text-transform: uppercase;
}

Скомпилированный CSS (МЕНЬШЕ)

.block {
margin: 10px 5px;
padding: 2px;
}
p {
margin: 10px 5px;
padding: 2px;
border: 1px solid #EEE;
}
ul,
ol {
margin: 10px 5px;
padding: 2px;
color: #333;
text-transform: uppercase;
}

Как вы можете видеть, стили из.block были вставлены в селектора, которые мы хотели бы дать наследованию. Важно отметить, что приоритет может стать проблемой здесь, поэтому будьте осторожны.

Импорт

В сообществе CSS импорт CSS не одобряется, поскольку ему требуется несколько HTTP-запросов. Однако импорт с препроцессором работает по-разному. Если вы импортируете файл из любого из трех препроцессоров, он будет буквально включать импорт во время компиляции, создавая только один файл. Имейте в виду, что импортирование обычных файлов.css компилируется с помощью по умолчанию @import «file.css»; код. Кроме того, mixins и переменные могут быть импортированы и использованы в вашей основной таблице стилей. Импорт делает создание отдельных файлов для организации очень полезным.

Sass, LESS и Stylus

/* file.{type} */
body {
background: #EEE;
}
@import "reset.css";
@import "file.{type}";
p {
background: #0982C1;
}

Скомпилированный CSS

@import "reset.css";
body {
background: #EEE;
}
p {
background: #0982C1;
}

Функции цвета

Функции цвета встроены в функции, которые преобразуют цвет при компиляции. Это может быть чрезвычайно полезно для создания градиентов, более темных цветов наведения и многое другое.

Sass

lighten($color, 10%); /* returns a color 10% lighter than $color */
darken($color, 10%); /* returns a color 10% darker than $color */
saturate($color, 10%); /* returns a color 10% more saturated than $color */
desaturate($color, 10%); /* returns a color 10% less saturated than $color */
grayscale($color); /* returns grayscale of $color */
complement($color); /* returns complement color of $color */
invert($color); /* returns inverted color of $color */
mix($color1, $color2, 50%); /* mix $color1 with $color2 with a weight of 50% */

Это всего лишь короткий список доступных цветовых функций в Sass, полный список доступных цветовых функций Sass можно найти, прочитав документацию Sass.

Функции цвета можно использовать в любом месте, где используется цвет. Вот пример:

$color: #0982C1;
h1 {
background: $color;
border: 3px solid darken($color, 50%);
}

МЕНЬШЕ

lighten(@color, 10%); /* returns a color 10% lighter than @color */
darken(@color, 10%); /* returns a color 10% darker than @color */
saturate(@color, 10%); /* returns a color 10% more saturated than @color */
desaturate(@color, 10%); /* returns a color 10% less saturated than @color */
spin(@color, 10); /* returns a color with a 10 degree larger in hue than @color */
spin(@color, -10); /* returns a color with a 10 degree smaller hue than @color */
mix(@color1, @color2); /* return a mix of @color1 and @color2 */

Список всех функций LESS можно найти, прочитав LESS Documentation.

Вот пример использования цветовой функции в LESS:

@color: #0982C1;
h1 {
background: @color;
border: 3px solid darken(@color, 50%);
}

стилус

lighten(color, 10%); /* returns a color 10% lighter than "color" */
darken(color, 10%); /* returns a color 10% darker than "color" */
saturate(color, 10%); /* returns a color 10% more saturated than "color" */
desaturate(color, 10%); /* returns a color 10% less saturated than "color" */

Полный список всех функций цвета Stylus можно найти, прочитав документацию Stylus.

Вот пример использования функций цвета Stylus:

Color = #0982C1
h1
background color
border 3px solid darken(color, 50%)

Операции

Выполнение математики в CSS весьма полезно и теперь вполне возможно. Это просто, и вот как это делается:

Sass, LESS и Stylus

body {
margin: (14px/2);
top: 50px + 100px;
right: 100px - 50px;
left: 10 * 10;
}

Практические приложения

Мы рассмотрели множество функций и новых возможностей, которые могут выполнять препроцессоры, но мы не накрыли ничего практического или практического. Вот краткий список приложений реального мира, где использование препроцессора - спасатель.

Префиксы поставщиков

Это одна из причин, по которой нужно использовать препроцессор и по очень веской причине - это экономит массу времени и слез. Создание mixin для обработки префиксов поставщиков легко и экономит много повторений и болезненного редактирования. Вот как это сделать:

Sass

@mixin border-radius($values) {
-webkit-border-radius: $values;
-moz-border-radius: $values;
border-radius: $values;
}
div {
@include border-radius(10px);
}

МЕНЬШЕ

.border-radius(@values) {
-webkit-border-radius: @values;
-moz-border-radius: @values;
border-radius: @values;
}
div {
.border-radius(10px);
}

стилус

border-radius(values) {
-webkit-border-radius: values;
-moz-border-radius: values;
border-radius: values;
}
div {
border-radius(10px);
}

Скомпилированный CSS

div {
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
}

3D-текст

Подделка трехмерного текста с использованием нескольких текстовых теней - умная идея. Единственная проблема заключается в том, что изменение цвета после того, как факт трудный и громоздкий. Используя mixins и цветовые функции, мы можем создавать 3D-текст и менять цвет «на лету»!

Sass

@mixin text3d($color) {
color: $color;
text-shadow: 1px 1px 0px darken($color, 5%),
2px 2px 0px darken($color, 10%),
3px 3px 0px darken($color, 15%),
4px 4px 0px darken($color, 20%),
4px 4px 2px #000;
}
h1 {
font-size: 32pt;
@include text3d(#0982c1);
}

МЕНЬШЕ

.text3d(@color) {
color: @color;
text-shadow: 1px 1px 0px darken(@color, 5%),
2px 2px 0px darken(@color, 10%),
3px 3px 0px darken(@color, 15%),
4px 4px 0px darken(@color, 20%),
4px 4px 2px #000;
}
span {
font-size: 32pt;
.text3d(#0982c1);
}

стилус

text3d(color)
color: color
text-shadow: 1px 1px 0px darken(color, 5%), 2px 2px 0px darken(color, 10%), 3px 3px 0px darken(color, 15%), 4px 4px 0px darken(color, 20%), 4px 4px 2px #000
spa
font-size: 32pt
text3d(#0982c1)

Я решил написать текстовые тени Stylus на одной строке, потому что я опустил фигурные скобки.

Скомпилированный CSS

span {
font-size: 32pt;
color: #0982c1;
text-shadow: 1px 1px 0px #097bb7,
2px 2px 0px #0875ae,
3px 3px 0px #086fa4,
4px 4px 0px #07689a,
4px 4px 2px #000;
}

Конечный результат

Столбцы

Использование числовых операций и переменных для столбцов - это идея, с которой я столкнулся, когда я впервые играл с препроцессорами CSS. Объявив желаемую ширину в переменной, мы можем легко изменить ее по дороге без какой-либо ментальной математики. Вот как это делается:

Sass

$siteWidth: 1024px;
$gutterWidth: 20px;
$sidebarWidth: 300px;
body {
margin: 0 auto;
width: $siteWidth;
}
.content {
float: left;
width: $siteWidth - ($sidebarWidth+$gutterWidth);
}
.sidebar {
float: left;
margin-left: $gutterWidth;
width: $sidebarWidth;
}

МЕНЬШЕ

@siteWidth: 1024px;
@gutterWidth: 20px;
@sidebarWidth: 300px;
body {
margin: 0 auto;
width: @siteWidth;
}
.content {
float: left;
width: @siteWidth - (@sidebarWidth+@gutterWidth);
}
.sidebar {
float: left;
margin-left: @gutterWidth;
width: @sidebarWidth;
}

стилус

siteWidth = 1024px;
gutterWidth = 20px;
sidebarWidth = 300px;
body {
margin: 0 auto;
width: siteWidth;
}
.content {
float: left;
width: siteWidth - (sidebarWidth+gutterWidth);
}
.sidebar {
float: left;
margin-left: gutterWidth;
width: sidebarWidth;
}

Скомпилированный CSS

body {
margin: 0 auto;
width: 1024px;
}
.content {
float: left;
width: 704px;
}
.sidebar {
float: left;
margin-left: 20px;
width: 300px;
}

Замечательные приличия

Существует немало причуд для использования препроцессора CSS. Я собираюсь перечислить некоторые из забавных, но если вам действительно интересно найти их все, я рекомендую вам расчесывать документацию или, еще лучше, просто начните использовать препроцессор в ежедневной кодировке.

Отчеты об ошибках

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

препроцессоры CSS сообщают об ошибках. Все просто. Если что-то не так с вашим кодом, он сообщает вам, где, и если вам повезло: почему. Вы можете проверить этот пост в блоге, если вам интересно узнать, как сообщаются ошибки в разных препроцессорах.