Preprocesarodes

CSS

¿Por que usar Preprocesadores CSS?

Los preprocesadores de CSS, dotan a nuestras hojas de estilo de todo aquello que no cuentan y que existen en lenguajes de programación.

  • CSS es repetitivo.
  • CSS no tiene variables.
  • Es Inflexible, y complicado de reusar.
  • Sitios web complejos se vuelven complicados de mantener.

¿Cual escoger?

¿Que usán?

Latino America

Europa

Fuente Cristalab.com

¿Que mitos hay?

  • Disminuye el rendimiento a los sitios.
  • Agrega complejidad al proceso de desarrollo.
  • Tiene dependencias que deben ser cubiertas.
  • Se pierde control sobre el código final.
  • Muy complicado de depurar.

Primero pasos con SASS

Hay dos formas de manejarlo, con la sintaxis SASS (Viene de HAML) ó SCSS (Sassy CSS).

La documentación completa de SASS la podemos encontrar en http://sass-lang.com/.

Comparativo Sintaxis

$fuente:    Helvetica, sans-serif;
$colorsito: #333;

body {
  font: 100% $fuente;
  color: $colorsito;
}
$fuente:    Helvetica, sans-serif
$colorsito: #333

body
  font: 100% $fuente
  color: $colorsito

SASS

SCSS

Anidamiento

nav {
  ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  li { display: inline-block; }

  a {
    display: block;
    padding: 6px 12px;
    text-decoration: none;
  }
}

SCSS

Parciales y Importar

// _reset.scss

html,
body,
ul,
ol {
   margin: 0;
  padding: 0;
}

SCSS

Son pedazos de codigo que van a ser incluidos en otro archivo. Estos inician con ( _ ) Ejemplo _prueba.scss

/* base.scss */

@import 'reset';

body {
  font: 100% Helvetica, sans-serif;
  background-color: #efefef;
}

Mixins

SCSS

Los mixins se comportan como lo haria una funcion en un

lenguaje tradicional, aunque no devuelve nada.

@mixin border-radius($radius) {
  -webkit-border-radius: $radius;
     -moz-border-radius: $radius;
      -ms-border-radius: $radius;
          border-radius: $radius;
}

.box { @include border-radius(10px); }

Extend/Inheritance

SCSS

Estilo que seran extendidos por otros elementos

.message {
  border: 1px solid #ccc;
  padding: 10px;
  color: #333;
}

.success {
  @extend .message;
  border-color: green;
}

.error {
  @extend .message;
  border-color: red;
}

.warning {
  @extend .message;
  border-color: yellow;
}

Operadores

.container { width: 100%; }

article[role="main"] {
  float: left;
  width: 600px / 960px * 100%;
}

aside[role="complimentary"] {
  float: right;
  width: 300px / 960px * 100%;
}

SCSS

Los operadores + - * /  %

Instalación

sudo gem install sass

Como Ruby viene preinstalado en Mac, solo se debe instalar la gema

sass -v

Usandolo con Netbeans

Netbeans es un gran IDE que nos facilita en gran medida el trabajo con SASS ó LESS. Para empezarlo a usar simplemente referenciamos la ubicación del compilador.

Usandolo con Netbeans

Cuando agregamos un archivo SASS o en al configuración definimos si queremos que se autocompile y sobre que rutas se va a trabajar

Automatizando con GruntJS

GruntJS tiene un plugin para compilar SASS el cual igual requiere que SASS este instalado en nuestro equipo

Preprocesadores CSS

By César Eduardo Suárez

Preprocesadores CSS

Preprocesadores CSS y uso de SASS

  • 408