CSS Preprocessors - Sass

40
CSS Preprocessors . Sass 101 Lourdes Montano

Transcript of CSS Preprocessors - Sass

Page 1: CSS Preprocessors - Sass

CSS Preprocessors . Sass 101Lourdes Montano

Page 2: CSS Preprocessors - Sass

./Hola, soy Lourdes!

Presentation Code Developer @ R/GA Buenos Aires

@loumontano

Page 3: CSS Preprocessors - Sass

./Agenda

./ Qué es Sass

./ Setup

./ Estructura de archivos

./ Características

./ Mixins útiles

./ Manejo responsable de Sass

Page 4: CSS Preprocessors - Sass

Qué es Sass? Cómo funcionan los pre-procesadores?

- Es una extensión de CSS- Facilita la escritura y organización de CSS - Sintaxis simple- Reusabilidad- Genera CSS como lo conocemos...mucho más rápido!

Page 6: CSS Preprocessors - Sass

Estructura de archivos

Partials - Sub-archivos compilados en un sólo archivo CSS@import - Código utilizado para determinar el órden de compilación en el output de CSS

Page 7: CSS Preprocessors - Sass

./Características de Sass

Page 8: CSS Preprocessors - Sass

Características de Sass

- Variables- Anidamiento- Pseudo selectores- Mixins- Extends / Placeholders- Operadores matemáticos- Funciones- Control directives

Page 9: CSS Preprocessors - Sass

Variables

- Funcionan como las variables de otros lenguajes (placeholder name, scope, etc.)- Pueden usarse: valores de colores, textos, booleans, numbers, etc.

Page 10: CSS Preprocessors - Sass

Anidamiento

- Más rápido de escribir y fácil de leer- Seguir la regla de 3 a 4 niveles de anidamiento máximo (checkear código generado)

Page 11: CSS Preprocessors - Sass

Pseudo Selectores

Page 12: CSS Preprocessors - Sass

Reusabilidad

Page 13: CSS Preprocessors - Sass

@mixin

- Son conjuntos de declaraciones que se reutilizan- Usar para manipular valores dinámicos- Muy útiles para los vendor prefixes- Utilizados para reutilizar reglas, no valores

Page 14: CSS Preprocessors - Sass

@extend

- Sirve para compartir propiedades entre reglas sin pasar parametros.- Punto en contra: repite en el output el nombre de la clase extendida

Page 15: CSS Preprocessors - Sass

@extend + %placeholder

- El placeholder no se compila en el output- Sus propiedades pueden ser extendidas mediante @extend

Page 16: CSS Preprocessors - Sass

Funciones

Page 17: CSS Preprocessors - Sass

Operadores matemáticos

- Operadores matemáticos + - * / % son aplicables a números variables

Page 18: CSS Preprocessors - Sass

Funciones nativas de Sass

- Soportan operadores matemáticos- Existen funciones para colores HSL (Hue, Saturation, Lightness y Opacity)

Page 19: CSS Preprocessors - Sass

Funciones custom

- Permiten cálculos- A diferencia de un @mixin, se puede hacer @return de un valor que se quiera obtener

Page 20: CSS Preprocessors - Sass

Control

Page 21: CSS Preprocessors - Sass

Control directives @if

Page 22: CSS Preprocessors - Sass

Control directives @for

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

Page 23: CSS Preprocessors - Sass

Control directives @each

Page 24: CSS Preprocessors - Sass

Control directives @while

Page 25: CSS Preprocessors - Sass

./Mixins útiles

Page 26: CSS Preprocessors - Sass

Opacity

Page 27: CSS Preprocessors - Sass

Clearfix

Page 28: CSS Preprocessors - Sass

Vertical align

Page 29: CSS Preprocessors - Sass

Media Queries - Breakpoints

Page 30: CSS Preprocessors - Sass

Grids

Page 31: CSS Preprocessors - Sass

Animations

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

Page 32: CSS Preprocessors - Sass

Transitions

Page 33: CSS Preprocessors - Sass

./Manejo responsable de Sass

Page 34: CSS Preprocessors - Sass

Pensar en un pre-procesador como una lupa: puede convertir buen CSS en algo genial, pero mal CSS en algo terrible. No es una varita mágica.

Harry Roberts

Page 35: CSS Preprocessors - Sass

Mantener el códigoes nuestro trabajo

Page 36: CSS Preprocessors - Sass

Manejo responsable de Sass

Page 37: CSS Preprocessors - Sass

Puntos a tener en cuenta

- Estructurar bien los archivos- Buen manejo de las variables- Usar mixins con valores dinámicos, de lo contrario usar extend- Usar funciones para cálculos- Limitar anidado: Máximo 3 o 4 niveles- Al igual que CSS, evitar la especificidad- Checkear el código generado en CSS

Page 38: CSS Preprocessors - Sass

Conclusiones

- Facilita la escritura y organización de CSS- Permite funciones, cálculos y manejo de variables- Mucha documentación disponible- Prestar atención al código generado- Sass ayuda a escribir CSS más rápido, no mejor.

Page 40: CSS Preprocessors - Sass

./Gracias!@loumontano