Что такое PostCSS

Ответ

PostCSS — это инструмент для обработки CSS с помощью JavaScript. Он позволяет использовать плагины для трансформации стилей, например, добавления вендорных префиксов, поддержки будущих CSS-спецификаций (через postcss-preset-env), оптимизации кода и многого другого.

Пример использования PostCSS с плагином autoprefixer:

const postcss = require('postcss');
const autoprefixer = require('autoprefixer');

postcss([autoprefixer])
  .process(css)
  .then(result => {
    console.log(result.css);
  });

Ключевые особенности:

  • Модульность (работает через плагины)
  • Поддержка современных CSS-функций
  • Интеграция с сборщиками (Webpack, Gulp и др.)
  • Высокая скорость работы

PostCSS не заменяет препроцессоры вроде Sass, а дополняет их, работая на другом уровне абстракции.

Ответ 18+ 🔞

Да ты послушай, что за зверь такой — PostCSS! Ну, в общем, представь: это типа такой трансформер для твоих CSS-файлов, но на чистом JavaScript, блядь. Не препроцессор, нет — это скорее как универсальный станок, куда ты засовываешь свои стили, а он их там обрабатывает чем захочешь. Хочешь — автопрефиксы накрутит, хочешь — будущие свойства CSS подключит, а хочешь — код так сожмёт, что мама не горюй.

Вот смотри, как это выглядит в деле, если взять, например, плагин autoprefixer:

const postcss = require('postcss');
const autoprefixer = require('autoprefixer');

postcss([autoprefixer])
  .process(css)
  .then(result => {
    console.log(result.css);
  });

Видишь? Ничего сложного, ебать мои старые костыли. Закинул движок и плагин, скормил ему CSS, а на выходе получил уже причёсанный код, который во всех браузерах работать будет.

А главная фишка-то в чём? В модульности, ёпта! Это не монолитный монстр, а как конструктор: нужны префиксы — ставишь один плагин, нужна поддержка каких-нибудь новомодных grid'ов — ставишь другой. И всё это летает с овердохуища скоростью и легко встраивается в любую сборку — Webpack, Gulp, да хоть в ручную склейку.

И да, чтобы ты не подумал чего — это не замена тому же Sass, нет. Это другая история, другой уровень. Sass — он как бы до, а PostCSS может и после, и вместо, и параллельно. Короче, хитрая жопа, но чертовски полезная в хозяйстве.