+ 1

What is PostCSS?

PostCSS is a tool for transforming CSS with JS plugins. These plugins can support variables and mixins, transpile future CSS syntax, inline images, and more.
PostCSS is a tool in the CSS Pre-processors / Extensions category of a tech stack.
PostCSS is an open source tool with 23K GitHub stars and 1.2K GitHub forks. Here’s a link to PostCSS's open source repository on GitHub

Who uses PostCSS?

97 companies reportedly use PostCSS in their tech stacks, including Uploadcare, SendGrid, and Banksalad.

302 developers on StackShare have stated that they use PostCSS.

PostCSS Integrations

React.js Boilerplate, Adobe Dreamweaver, tachyons, JSFiddle, and Jetpack are some of the popular tools that integrate with PostCSS. Here's a list of all 9 tools that integrate with PostCSS.
Public Decisions about PostCSS

Here are some stack decisions, common use cases and reviews by companies and developers who chose PostCSS in their tech stack.

Dmitry Mukhin
Dmitry Mukhin

Simple controls over complex technologies, as we put it, wouldn't be possible without neat UIs for our user areas including start page, dashboard, settings, and docs.

Initially, there was Django. Back in 2011, considering our Python-centric approach, that was the best choice. Later, we realized we needed to iterate on our website more quickly. And this led us to detaching Django from our front end. That was when we decided to build an SPA.

For building user interfaces, we're currently using React as it provided the fastest rendering back when we were building our toolkit. It’s worth mentioning Uploadcare is not a front-end-focused SPA: we aren’t running at high levels of complexity. If it were, we’d go with Ember.js.

However, there's a chance we will shift to the faster Preact, with its motto of using as little code as possible, and because it makes more use of browser APIs. One of our future tasks for our front end is to configure our Webpack bundler to split up the code for different site sections. For styles, we use PostCSS along with its plugins such as cssnano which minifies all the code.

All that allows us to provide a great user experience and quickly implement changes where they are needed with as little code as possible.

See more

ReactQL is a React + GraphQL front-end starter kit. #JSX is a natural way to think about building UI, and it renders to pure #HTML in the browser and on the server, making it trivial to build server-rendered Single Page Apps. GraphQL via Apollo was chosen for the data layer; #GraphQL makes it simple to request just the data your app needs, and #Apollo takes care of communicating with your API (written in any language; doesn't have to be JavaScript!), caching, and rendering to #React.

ReactQL is written in TypeScript to provide full types/Intellisense, and pick up hard-to-diagnose goofs that might later show up at runtime. React makes heavy use of Webpack 4 to handle transforming your code to an optimised client-side bundle, and in throws back just enough code needed for the initial render, while seamlessly handling import statements asynchronously as needed, making the payload your user downloads ultimately much smaller than trying to do it by hand.

React Helmet was chosen to handle <head> content, because it works universally, making it easy to throw back the correct <title> and other tags on the initial render, as well as inject new tags for subsequent client-side views.

styled-components, Sass, Less and PostCSS were added to give developers a choice of whether to build styles purely in React / JavaScript, or whether to defer to a #css #preprocessor. This is especially useful for interop with UI frameworks like Bootstrap, Semantic UI, Foundation, etc - ReactQL lets you mix and match #css and renders to both a static .css file during bundling as well as generates per-page <style> tags when using #StyledComponents.

React Router handles routing, because it works both on the server and in the client. ReactQL customises it further by capturing non-200 responses on the server, redirecting or throwing back custom 404 pages as needed.

Koa is the web server that handles all incoming HTTP requests, because it's fast (TTFB < 5ms, even after fully rendering React), and its natively #async, making it easy to async/await inside routes and middleware.

See more
Shared insights

Originally, I was going to start using Sass with Parcel, but then I learned about Stylus, which looked interesting because it can get the property values of something directly instead of through variables, and PostCSS, which looked interesting because you can customize your Pre/Post-processing. Which tool would you recommend?

See more
Hampton Catlin
Hampton Catlin
VP of Engineering at Rent The Runway · | 4 upvotes · 209.6K views

We use Sass because I invented it! No, that's not a joke at all! Well, let me explain. So, we used Sass before I started at Rent the Runway because it's the de-facto industry standard for pre-compiled and pre-processed CSS. We do also use PostCSS for stuff like vendor prefixing and various transformations, but Sass (specifically SCSS) is the main developer-focused language for describing our styling. Some internal apps use styled-components and @Aphrodite, but our main website is allllll Sassy. Oh, but the non-joking part is the inventing part. /shrug

See more
Zarema Khalilova
Zarema Khalilova
Frontend Team Lead at Uploadcare · | 3 upvotes · 18.4K views
Shared insights

We in our #Frontend team prefer to use the modern and clean syntax of #CSS instead of Sass or Less. On bundle step, we use post-processing by PostCSS to add prefixes, minify code, uploading assets and more. PostCSS get CSS more powerful, it‘s a fantastic tool.

See more
Mick Dekkers
Mick Dekkers
Back-end Developer at TradeCast · | 1 upvotes · 4.7K views
Shared insights

PostCSS essentially allows you to set up your own CSS preprocessor with the features that matter to you. It has a modular plugin-based architecture, which means that if someone comes up with a useful new feature, you can easily add it to your stack as a PostCSS plugin. PreCSS and PostCSS-cssnext are some of my go-to plugins. PostCSS

See more

PostCSS Alternatives & Comparisons

What are some alternatives to PostCSS?
Stylus is a revolutionary new language, providing an efficient, dynamic, and expressive way to generate CSS. Supporting both an indented syntax and regular CSS style.
Sass is an extension of CSS3, adding nested rules, variables, mixins, selector inheritance, and more. It's translated to well-formatted, standard CSS using the command line tool or a web-framework plugin.
CSS Modules
It is a CSS file in which all class names and animation names are scoped locally by default. The key words here are scoped locally. With this, your CSS class names become similar to local variables in JavaScript. It goes into the compiler, and CSS comes out the other side.
Less is a CSS pre-processor, meaning that it extends the CSS language, adding features that allow variables, mixins, functions and many other techniques that allow you to make CSS that is more maintainable, themable and extendable.
It is a library that provides binding for Node.js to LibSass, the C version of the popular stylesheet preprocessor, Sass. It allows you to natively compile .scss files to css at incredible speed and automatically via a connect middleware.
See all alternatives

PostCSS's Followers
373 developers follow PostCSS to keep up with related blogs and decisions.
Jeslen Bucci
Thanh Lê Mỹ Thiên
Sandro Seiler
Santiago Patiño
Colin Gawronski
Harish Nair
Anuj Shah
dream wali
Kostya Yurkevich