There is No CSS3!
And other facts about how standards are made.
Slide 24
Slide 24 text
There is No CSS3!
And other facts about how standards are made.
Slide 25
Slide 25 text
Despite the popularity of the “CSS3”
buzzword, there is actually no spec
defining such a thing.
– Lea Verou
Slide 26
Slide 26 text
No content
Slide 27
Slide 27 text
No content
Slide 28
Slide 28 text
No content
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
Animation
Slide 31
Slide 31 text
Typography
Slide 32
Slide 32 text
Shapes
Slide 33
Slide 33 text
Grids
Slide 34
Slide 34 text
“CSS is not
a real language”
Slide 35
Slide 35 text
Problems with CSS
• Cross-browser compatibility issues
• Vendor prefixes
• No variables
• No nested selectors
• No scoping
• No functions
• No color manipulation
• No basic arithmetic
Slide 36
Slide 36 text
Things That Make
Our Lives Easier
Slide 37
Slide 37 text
Rise of the Preprocessors.
How we filled in the gaps.
Preprocessors
Perpetuate A Problem.
– Aaron Ladage
Slide 44
Slide 44 text
More & More
Layers of Abstraction
Slide 45
Slide 45 text
Problems with Preprocessors
• Not real front-end code
• Proprietary syntax
• Often written in non front-end languages
• Not as easily extensible
• Must be compiled
• Compile times can be slow
• The CSS Spec & Browsers
are catching up!
Slide 46
Slide 46 text
Preprocessors?
Where we’re going, we don’t need preprocessors.
Just because you may like Sass
variable syntax more does not
mean that you should just forsake
the new spec.
– Jake Albaugh
http://codepen.io/jakealbaugh/post/css4-variables-and-sass
Bad Nesting Order
.selector {
element {//…}
property: value;
.selector {//…}
&:before {//…}
}
Good Nesting Order
.selector {
property: value;
&:before {//…}
element {//…}
.selector {//…}
}
Problems with CSS
• Cross-browser compatibility issues
• Vendor prefixes
• No variables
• No nested selectors
• No scoping
• No functions/mixins
• No color manipulation
• No basic arithmetic
Slide 89
Slide 89 text
Problems with CSS
• Cross-browser compatibility issues
• Vendor prefixes
• No variables
• No nested selectors
• No scoping
• No functions/mixins
• No color manipulation
• No basic arithmetic
Slide 90
Slide 90 text
Problems with CSS
• Cross-browser compatibility issues
• Vendor prefixes
• No variables
• No nested selectors
• No scoping
• No functions/mixins
• No color manipulation
• No basic arithmetic
PostCSS Advantages
• Write CSS using CSS
• Use CSS3 without worry
• Even Use CSS4
• Modular (Use only what you need)
• Tons of existing plugins
• Can’t find a plugin? Write one
in javascript.
Slide 97
Slide 97 text
PostCSS Ecosystem
• Autoprefixer
• PostCSS-nested
• PostCSS-color-function
• PostCSS-calc
• PostCSS-custom-properties
• PostCSS-apply
• PostCSS-custom-media
• CSSNext
• PostCSS-import
• Can’t find a plugin? Write one
in javascript.