Что такое CSS-препроцессор

Ответ

Препроцессор — это инструмент, который обрабатывает код перед его компиляцией или интерпретацией, добавляя дополнительные возможности, упрощая синтаксис или автоматизируя рутинные задачи. В веб-разработке популярны CSS-препроцессоры (Sass, Less) и HTML-препроцессоры (Pug).

Пример с Sass:

$primary-color: #3498db;

.button {
  background: $primary-color;
  &:hover {
    background: darken($primary-color, 10%);
  }
}

После обработки препроцессором превращается в:

.button {
  background: #3498db;
}
.button:hover {
  background: #2980b9;
}

Плюсы:

  • Переменные, миксины, вложенность
  • Лучшая читаемость и поддержка кода
  • Автоматизация (например, добавление вендорных префиксов)

Ответ 18+ 🔞

А, ну ты глянь, препроцессор! Это ж такая штука, которая код твой, как говно собачье, пережёвывает, прежде чем его компилятору скормить. Ну, чтобы тот не подавился, понимаешь? В вебе это вообще святое — CSS-препроцессоры вроде Sass, Less, или там Pug для HTML.

Вот смотри, без этого говна ты пишешь:

.button {
  background: #3498db;
}
.button:hover {
  background: #2980b9;
}

А с препроцессором, ёпта, красота! Ты как будто на машинке пишешь, а не вручную. Берёшь Sass и делаешь так:

$primary-color: #3498db;

.button {
  background: $primary-color;
  &:hover {
    background: darken($primary-color, 10%);
  }
}

Видишь? Цвет в переменную засунул, вложенность сделал, да ещё и функция darken сама затемнение посчитала! А потом этот препроцессор берёт твой красивый код, переваривает его и на выходе плюёт тот самый ванильный CSS, который браузер сожрёт без вопросов. Получается ровно то же самое, что в первом примере.

И в чём же, блядь, кайф-то?

  • Переменные, миксины, вложенность — это пиздец как удобно. Не надо двадцать раз один цвет переписывать, можно в одном месте поменять.
  • Читаемость и поддержка — код структурированный, как у нормального человека, а не как у того самого Герасима, который только «Му-му» мычать может.
  • Автоматизация — он за тебя кучу рутины сделает. Вендорные префиксы там добавит, математику посчитает. Сидишь такой, пьешь чай, а он за тебя пашет, хитрая жопа!

Короче, вещь охуенная. Сначала кажется, что лишняя прослойка, а потом без неё — как без рук, блядь. Чистый CSS после Sass читать — это как слушать, как немой пытается про «Войну и мир» рассказать. Му-му, сука.