Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PostCSS
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Matija Marohnić
May 21, 2019
Programming
61
0
Share
PostCSS
Matija Marohnić
May 21, 2019
More Decks by Matija Marohnić
See All by Matija Marohnić
oxlint & oxfmt: linting and formatting from the future
silvenon
0
28
Goodbye jsdom/happy-dom, hello Vitest Browser Mode!
silvenon
0
17
Introduction to Remix
silvenon
0
150
Cypress vs. Playwright
silvenon
0
170
Studying Strapi: an open source head headless CMS
silvenon
0
55
CSS Specificity
silvenon
0
59
Make your JavaScript projects more accessible to newcomers
silvenon
0
89
React Hooks
silvenon
0
91
CSS Custom Properties
silvenon
0
52
Other Decks in Programming
See All in Programming
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
5
5.5k
AI Agent と正しく分析するための環境作り
yoshyum
2
510
Symfony AI in Action - SymfonyLive Berlin 2026
chr_hertel
1
150
SREに優しいTerraform構成 modulesとstateの組み方
hiyanger
2
180
要はバランスからの卒業 #yumemi_grow
kajitack
0
170
GitHubCopilotCLIをはじめよう.pdf
htkym
0
330
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
470
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
780
Sans tests, vos agents ne sont pas fiables
nabondance
0
130
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
1.3k
ふにゃっとしない名前の付け方 〜哲学で茹で上げる、コシのあるソフトウェア設計〜
shimomura
0
120
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
3.2k
Featured
See All Featured
Heart Work Chapter 1 - Part 1
lfama
PRO
7
35k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
180
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
390
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Optimizing for Happiness
mojombo
378
71k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
520
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
130
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
300
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
110
Transcript
PostCSS
PostCSS • like Babel, but for CSS • what it
basically does: 1. “understands” CSS code 2. changes it using plugins
Autoprefixer .postcssrc.yml plugin configuration
Autoprefixer
Autoprefixer
Easing gradients
Easing gradients
Easing gradients
Easing gradients
Sass? Less? Stylus? • you can combine them with PostCSS
• or create a subset of their features using plugins
Nesting
Nesting
Nesting
How PostCSS works • reads CSS file content • converts
it to an abstract syntax tree (AST) • plugins perform transformations on the AST • new AST is converted back into CSS file content
CSS syntax selector property value declaration rule etc.
Abstract syntax tree (AST)
A good PostCSS plugin • follows a specification (ideally) •
makes your code better without you being aware of it • isn’t magic, doesn’t invent new syntax
Other use cases for PostCSS
stylelint • like ESLint, but for CSS • used for
detecting mistakes and discouraging patterns
stylelint-a11y
stylelint-a11y
postcss.org