Franco Paez

#APUNTES DE SASS


##Variables.

Las variables almacenan valores que podemos reutilizar.

####Sintaxis

$color-principal: #FFF;

body{
    background-color: $color-principal;
}

####Salida en CSS

body{
    background-color: #FFF;
}

##Nesting (Anidación).

La anidación es una herramienta muy útil para mantener el código fuente de la hoja de estilo ligero y eficiente

####Sintaxis

$red: #FF0000;
$green: #00FF00;
$blue: #0000FF;

a {
    color: $red;

    &:visited {
        color: $green;
    }

    &:hover {
        color: $blue;
    }
}

####Salida en CSS

a{
    color: #FF0000;
}

a:visited{
    color: #00FF00;
}

a:hober{
    color: #0000FF;
}

##Mixins

Los mixins nos ayudan a reciclar declaraciones para evitar mucho trabajo.

####Sintaxis

#####Declaracion del Mixin

//Sin parámetros

@mixin Nombre_del_Mixin{
    color: $purple;
}

//Con parámetros

@mixin Nombre_del_Mixin($parametro: Valor){
    color: $parametro;
}

#####Implementacion del Mixin

//Sin parámetros

section{
    @include Nombre_del_Mixin;
}

//Con parámetros

section{
    @include Nombre_del_Mixin(valor);
}

##Placeholder

Sass tiene un tipo especial de selector conocido como "Placeholder". Se parece y actúa como un selector de clases, pero comienza con un% y no está incluido en la salida de CSS.

####Sintaxis

%toolbelt {
    box-sizing: border-box;
    width: 100%;

    &:hover { border: 2px rgba(#000, .5) solid; }
}

.action-buttons {
    @extend %toolbelt;
    color: #4285f4;
}

.reset-buttons {
    @extend %toolbelt;
    color: #cddc39;
}

####Salida en CSS

.action-buttons, .reset-buttons {
    box-sizing: border-box;
    width: 100%;
}

.action-buttons:hover, .reset-buttons:hover {
    border: 2px rgba(0, 0, 0, 0.5) solid;
}

.action-buttons {
  color: #4285f4;
}

.reset-buttons {
  color: #cddc39;
}


##If

Estructura de control de toda la vida

####Sintaxis

$background-color: black;

@if $background-color == black {
    p {
        text-color: white;
    }
}

@else {
    p {
        text-color: black;
    }
}

####Salida en CSS


p{
    text-color: balck;
}

p{
    text-color: white;
}


##Funciones

Las funciones le permiten definir operaciones complejas en valores de SassScript que puede reutilizar en toda su hoja de estilo.

####Sintaxis

@function Nombre_de_la_funcion (paramretros){
    @return "algo"
}

##Maps

Los maps de Sass contienen pares de claves y valores, y facilitan la búsqueda de un valor mediante su clave correspondiente.

####Sintaxis

$fs: (
    big: 24px,
    normal: 16px,
    small: 14px,
    x-small: 12px
);

p {
    font-size: map-get($fs, normal); //16px
}

small {
    font.size: map-get($fs, x-small); //12px
}

##Escape variables

Util cuando necesitamos poner una variable entre comillas (" ").

####Sintaxis

@for $i from 1 to 5 {
    .class-#{$i} {

        &:before {
            content: "#{$i}"
        }
    }
}

####Salida en CSS

.class-1:before {
    content: "1";
}

.class-2:before {
    content: "2";
}

.class-3:before {
    content: "3";

.class-4:before {
    content: "4";

.class-5:before {
    content: "5";
}