Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
72
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
47
Goodbye jsdom/happy-dom, hello Vitest Browser Mode!
silvenon
0
35
Introduction to Remix
silvenon
0
180
Cypress vs. Playwright
silvenon
0
190
Studying Strapi: an open source head headless CMS
silvenon
0
67
CSS Specificity
silvenon
0
75
Make your JavaScript projects more accessible to newcomers
silvenon
0
100
React Hooks
silvenon
0
100
CSS Custom Properties
silvenon
0
70
Other Decks in Programming
See All in Programming
GitHubハンズオン講座 — 実務レベルのチーム開発のフローを身につけよう
junhat6
0
130
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
320
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
650
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
170
R8 の設定見直しでアプリサイズ削減
andpad
0
190
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
130
プロダクトコードからライブラリの境界を見つける
elmetal
PRO
0
110
速習iPhone Duo対応
yuukiw00w
2
970
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
360
Agents on Rails - Rails at Scale 2026
irinanazarova
0
520
残高管理から台帳サービスへの進化
artoy
0
180
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
170
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Ethics towards AI in product and experience design
skipperchong
2
420
The browser strikes back
jonoalderson
0
1.8k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
Visualization
eitanlees
153
17k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
How GitHub (no longer) Works
holman
316
150k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
870
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