./Oi! eu sou Lourdes
Presentation Code Developer
@ R/GA Buenos Aires
@loumontano
./Agenda
./ What is Sass
./ Setup
./ File structure
./ Features
./ Useful Mixins
./ Good practices
./A Quick note about Sass
File structure
Partials - Sub-files compiled in one single CSS file
@import - Defines the output order on the compiled CSS
./Features
Sass Features
- Variables
- Nesting
- Mixins
- Extends / Placeholders
- Math Operators
- Functions
- Control directives
- Maps
- and more!
Variables
- Same as other languages (placeholder name, scope, etc.)
- Can use: color values, texts, booleans, numbers, etc.
Nesting
- Easy to read. Faster to write
- Follow the 3 or 4 nesting levels rule (check generated CSS)
./Reusability
@mixin
- CSS rules that you can reuse
- Use with dynamic values
- Very useful for vendor prefixes
- Used for reuse rules, not values
@extend
- For properties sharing without parameters
- Con: it’s also generated on the CSS output
@extend + %placeholder
- Placeholders don’t get compiled on the CSS output
- Can be used via @extend
./Functions
Math operators
Native Sass Functions
- Support math operators
- HSL color functions available (Hue, Saturation, Lightness & Opacity)
Custom functions
- Allow calculations
- Unlike @mixin, there is a @return for a value
./Control directives
Control directives @if
Control directives @for
http://codepen.io/loumontano/pen/WbzBgz?editors=010
Control directives @each
./Useful Mixins
Clearfix
Vertical align
Media Queries - Breakpoints
Grids
Animations
http://codepen.io/loumontano/pen/eJByH
Transitions
- Key/Value data sets
- Unique list of keys
- Access to the keys and values
- Ability to iterate through these values
./Good practices
Think of a preprocessor as
a magnifying glass: it can
make good CSS great, but
bad CSS terrible. It’s not a
magic bullet.
Harry Roberts
Manejo responsable de Sass
The Good Sass dev Checklist
- Good file structure
- Proper variable usage
- Use mixins for dynamic values, otherwise use extend
- Use functions for calculations
- Limit nesting: 3 or 4 levels max
- Like in CSS, avoid specificity
- Check CSS output
Final thoughts
- Good for CSS code organization
- Allows functions and variables handling
- Tons of documentation available
- Check CSS output
- Sass helps you to write CSS faster, not better. (that’s up to you!)
Links
http://sass-lang.com/
http://terrificwebdesign.net/converting-css-sass/
http://thesassway.com/advanced
http://sass-guidelin.es/
http://sass-compatibility.github.io/
http://sassmeister.com/
http://thesassway.com/
http://www.sitepoint.com/html-css/css/sass-css/
http://jaredhardy.com/sassy-buttons/
http://bourbon.io/
./Valeu!
@loumontano

Sass conferencia css-sp