What Is the Meaning of “Post” in CSS?

In CSS tooling, “post” means after: changes applied to CSS that already exists. Here is how that differs from preprocessing, and why PostCSS can do both.

Illustrated cover: What Is the Meaning of “Post” in CSS?
Illustration by the editorial team.

“Post” means after

Post is a Latin prefix meaning after, as in “postscript” or “postgraduate”. In front-end tooling it describes when a tool does its work in the CSS lifecycle:

  • A preprocessor works before CSS exists. You write Sass, Less or Stylus, and it compiles to CSS.
  • A postprocessor works after CSS exists. It takes valid CSS and improves it, for example by adding vendor prefixes or minifying.

Important: “post” is not part of the CSS language. There is no post property, selector or keyword in CSS. When people say “post CSS”, they mean either this tooling concept or the tool named PostCSS.

What preprocessing looks like

A preprocessor defines its own syntax. This Sass code is not valid CSS until it is compiled:

styles.scss
$brand: #155EEF;

@mixin card {
  border-radius: 12px;
  padding: 24px;
}

.panel {
  @include card;
  color: $brand;
}

The output is ordinary CSS with the variable and mixin replaced. The browser never sees $brand.

What postprocessing looks like

A postprocessor starts from CSS the browser could already read. Autoprefixer is the classic example:

input.css
.panel {
  user-select: none;
}
output.css (example)
.panel {
  -webkit-user-select: none;
  user-select: none;
}

The input was already valid. The tool added a prefix for browsers in your targets that still need it. Other postprocessing jobs include minifying, merging media queries, inlining small images and checking style rules.

Side by side

Pre- versus post-processing at a glance.
PreprocessingPostprocessing
InputCustom syntax (SCSS, Less, Stylus)Standard CSS
When it runsBefore CSS existsAfter CSS is written
Typical jobsVariables, mixins, loops, functionsPrefixes, minification, linting, fallbacks
ExamplesSass, Less, StylusAutoprefixer, cssnano, Stylelint

Where PostCSS fits

PostCSS was named in 2013 when “postprocessor” was the popular term for tools like Autoprefixer. But PostCSS is a platform, and plugins decide what it does:

  • Post-style plugins: Autoprefixer, cssnano, Stylelint.
  • Pre-style plugins: postcss-nested and postcss-mixins add syntax that browsers did not traditionally understand.
  • Future-CSS plugins: postcss-preset-env lets you write upcoming standard features and converts them to what your targets support.

Because one tool can now handle both sides, the PostCSS team prefers the plain word processor. The “post” in the name is history, not a limit.

Can you use a preprocessor and PostCSS together?

Yes, and many projects do. A common pipeline is:

  1. Sass compiles .scss to CSS.
  2. PostCSS runs Autoprefixer on that CSS.
  3. PostCSS runs cssnano to minify for production.

In webpack this means sass-loader runs first, then postcss-loader, then css-loader. Loaders are listed bottom to top; see the postcss-loader guide.

Native CSS is closing the gap

Modern browsers now support features that once required a preprocessor, such as custom properties (--brand: #155EEF) and native nesting. That shifts the balance: many projects need less preprocessing and use PostCSS mainly for fallbacks and optimisation. Whether you still need prefixes or fallbacks depends on your Browserslist targets.

Other places you might see “post” near CSS

  • “Post” in WordPress themes: classes like .post or .post-title are ordinary class names for blog posts, unrelated to tooling.
  • HTTP POST: a request method for sending form data, unrelated to stylesheets.
  • “After” in CSS itself: if you want content after an element, CSS uses the ::after pseudo-element, not “post”.

Summary

“Post” in CSS tooling means work done after CSS is written. PostCSS took its name from that idea, but its plugins now cover preprocessing, postprocessing and future CSS. To learn the mechanics, read how PostCSS works.

Get PostCSS 8.5.32

Free, MIT licensed, downloaded from the official GitHub repository.

Download PostCSS