sass conferencia css-sp

43

Upload: lourdes-montano

Post on 08-Aug-2015

1.363 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Sass conferencia css-sp
Page 2: Sass conferencia css-sp

./Oi! eu sou Lourdes

Presentation Code Developer @ R/GA Buenos Aires

@loumontano

Page 3: Sass conferencia css-sp

./Agenda

./ What is Sass

./ Setup

./ File structure

./ Features

./ Useful Mixins

./ Good practices

Page 4: Sass conferencia css-sp

./A Quick note about Sass

Page 5: Sass conferencia css-sp
Page 6: Sass conferencia css-sp

File structure

Partials - Sub-files compiled in one single CSS file@import - Defines the output order on the compiled CSS

Page 7: Sass conferencia css-sp

./Features

Page 8: Sass conferencia css-sp
Page 9: Sass conferencia css-sp

Sass Features

- Variables- Nesting- Mixins- Extends / Placeholders- Math Operators- Functions- Control directives- Maps- and more!

Page 10: Sass conferencia css-sp

Variables

- Same as other languages (placeholder name, scope, etc.)- Can use: color values, texts, booleans, numbers, etc.

Page 11: Sass conferencia css-sp

Nesting

- Easy to read. Faster to write- Follow the 3 or 4 nesting levels rule (check generated CSS)

Page 12: Sass conferencia css-sp

./Reusability

Page 13: Sass conferencia css-sp

@mixin

- CSS rules that you can reuse- Use with dynamic values- Very useful for vendor prefixes- Used for reuse rules, not values

Page 14: Sass conferencia css-sp

@extend

- For properties sharing without parameters- Con: it’s also generated on the CSS output

Page 15: Sass conferencia css-sp

@extend + %placeholder

- Placeholders don’t get compiled on the CSS output- Can be used via @extend

Page 16: Sass conferencia css-sp

./Functions

Page 17: Sass conferencia css-sp

Math operators

Page 18: Sass conferencia css-sp

Native Sass Functions

- Support math operators- HSL color functions available (Hue, Saturation, Lightness & Opacity)

Page 19: Sass conferencia css-sp

Custom functions

- Allow calculations- Unlike @mixin, there is a @return for a value

Page 20: Sass conferencia css-sp

./Control directives

Page 21: Sass conferencia css-sp

Control directives @if

Page 22: Sass conferencia css-sp

Control directives @for

http://codepen.io/loumontano/pen/WbzBgz?editors=010

Page 23: Sass conferencia css-sp

Control directives @each

Page 24: Sass conferencia css-sp

./Useful Mixins

Page 25: Sass conferencia css-sp

Clearfix

Page 26: Sass conferencia css-sp

Vertical align

Page 27: Sass conferencia css-sp

Media Queries - Breakpoints

Page 28: Sass conferencia css-sp

Grids

Page 29: Sass conferencia css-sp

Animations

http://codepen.io/loumontano/pen/eJByH

Page 30: Sass conferencia css-sp

Transitions

Page 31: Sass conferencia css-sp
Page 32: Sass conferencia css-sp

- Key/Value data sets- Unique list of keys- Access to the keys and values- Ability to iterate through these values

Page 33: Sass conferencia css-sp
Page 34: Sass conferencia css-sp
Page 35: Sass conferencia css-sp
Page 36: Sass conferencia css-sp
Page 37: Sass conferencia css-sp

./Good practices

Page 38: Sass conferencia css-sp

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

Page 39: Sass conferencia css-sp

Manejo responsable de Sass

Page 40: Sass conferencia css-sp

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

Page 41: Sass conferencia css-sp

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!)

Page 43: Sass conferencia css-sp

./Valeu!@loumontano