Logo de Código Facilito
  • Inicio
  • Replays
  • Iniciar sesión
  • Crear cuenta
  • Explorar cursos
  • Bootcamps
  • Precios
  • Blog

¡Califica el Curso de Diseño Web Frontend!

Selecciona la calificación de 1 a 5 estrellas

Reporta un error

Curso Curso de Diseño Web Frontend

Video Mixins en SASS

Tipo de error

Algo salió mal al cargar el vídeo

El vídeo no pudo cargarse, hemos enviado un reporte al equipo de desarrollo, para poder solucionarlo a la brevedad.

Mientras solucionamos el problema, intenta lo siguiente para solucionar el error:

  • Recarga la página
  • Intenta reiniciar tu navegador y luego vuelve a reproducir el vídeo
  • Vacía el caché de tu navegador
  • Intenta reproducir con las extensiones del navegador deshabilitadas
  • Intenta con un navegador distinto
  • Si el problema persiste contáctanos en Discord
home Ir al inicio report_problem Reportar falla star Valorar curso

Considerando el ejemplo anterior donde hablamos de botones 3D con SASS:

See the Pen Myavav by Uriel Hernández (urielhdz) on CodePen.

¿Cómo podríamos hacerlo más reusable? Intentemos utilizando Mixins.

Qué son

Un mixin es una "función" en el sentido de que nos permite reutilizar código y que acepta argumenos, sin embargo, no es una función como tal (podemos decir esto porque en SASS también existen las funciones). La característica de los mixins es que definen propiedades que después se incluyen en un selector.

Ejemplo

Un mixin se define con el keyword @mixin seguido del nombre y los posibles parámetros:

@mixin threed_button($color){

}

Y para utilizarlo lo incluímos en algún selector:

a{
  @include threed_button(#eee);
}

Al incluirlo además pasamos el valor de los parámetros que se utilizan en el mixin. En este punto es fácil poder mover nuestro código del botón 3D:

@mixin threed-button($base-color){
  $shadow: "";

  @for $i from 1 through 4{
    $shadow: $shadow + "#{$i}px #{$i}px 0px 2px " + darken($base-color,$i*5) + ",";
  } 

  $shadow : str-slice($shadow,0,str-length($shadow)-1);
  appearance: none;
  border:none;
  background: $base-color;
  box-shadow: unquote($shadow);
}

Ahora apliquemos nuestro mixin:

.threed-btn--pink{
  @include 3d_button(#ff4081);
  font-size:18px;
  color:white;
}

Aquí está funcionando:

See the Pen MyyJrW by Uriel Hernández (@urielhdz) on CodePen.

¿Por qué usar mixins? Este caso es un claro ejemplo de por qué, crear botones para otras combinaciones de colores es mucho más fácil:

.threed-btn--pink{
  @include 3d_button(#ff4081);
  font-size:18px;
  color:white;
}

.threed-btn--red{
  @include 3d_button(red);
  font-size:18px;
  color:white;
}

Y listo, tenemos una función de código que podemos ir reciclando.

Extra: Nota como no coloqué el color de la fuente en el mixin, esto en el caso de que queramos hacer botones claros, el mixin tiene que abstraer únicamente las responsabilidades del mixin (en este caso el botón 3d).

En el siguiente artículo veremos arreglos y ciclo each.

  • Módulo 1 | 4 clases

    Cómo Funciona la Web

    expand_more
    • play_circle_outline

      Clase 1

      Frontend y Backend

    • play_circle_outline

      Clase 2

      La función de una navegador y la diferencia entre ellos.

    • play_circle_outline

      Clase 3

      Sublime Text

    • play_circle_outline

      Clase 4

      Instalar XAMPP

  • Módulo 2 | 3 clases

    HTML

    expand_more
    • play_circle_outline

      Clase 1

      Hola mundo con HTML

    • play_circle_outline

      Clase 2

      Estructura básica de un documento HTML

    • play_circle_outline

      Clase 3

      Por qué es importante usar correctamente las etiquetas HTML

  • Módulo 3 | 3 clases

    Boilerplate

    expand_more
    • play_circle_outline

      Clase 1

      HTML5 Boilerplate

    • play_circle_outline

      Clase 2

      Condicionales Internet Explorer

    • play_circle_outline

      Clase 3

      Instalar SASS

  • Módulo 4 | 7 clases

    Navegación

    expand_more
    • play_circle_outline

      Clase 1

      Header, Nav, Ul, Li

    • play_circle_outline

      Clase 2

      CSS para la navegación

    • play_circle_outline

      Clase 3

      Figuras geométricas en CSS3

    • play_circle_outline

      Clase 4

      Mixins en SASS

    • play_circle_outline

      Clase 5

      Posicionar logo

    • play_circle_outline

      Clase 6

      Animar menú

    • play_circle_outline

      Clase 7

      Ciclos SASS y Fuentes personalizadas

  • Módulo 5 | 5 clases

    Slider

    expand_more
    • play_circle_outline

      Clase 1

      Slider semántico

    • play_circle_outline

      Clase 2

      Aplicando CSS

    • play_circle_outline

      Clase 3

      javaScript del Slider

    • play_circle_outline

      Clase 4

      Atributos data

    • play_circle_outline

      Clase 5

      Intérvalos de tiempo y opciones de animación

  • Módulo 6 | 11 clases

    Pantallas Inicio y Cuartos

    expand_more
    • play_circle_outline

      Clase 1

      Triángulos, Sombras y Más

    • play_circle_outline

      Clase 2

      Dividir pantalla

    • play_circle_outline

      Clase 3

      Círculos en CSS

    • play_circle_outline

      Clase 4

      Filtros en CSS3

    • play_circle_outline

      Clase 5

      Precios - Marcado (HTML)

    • play_circle_outline

      Clase 6

      Precios - Correcciones, Variables en SASS y más

    • play_circle_outline

      Clase 7

      Precios - Agregando el Ribbon

    • play_circle_outline

      Clase 8

      Precios - Rotar Elementos

    • play_circle_outline

      Clase 9

      Precios - Uso y Manejo de jQuery Templates

    • play_circle_outline

      Clase 10

      Precios - Revertir Giro

    • play_circle_outline

      Clase 11

      Galería con CSS y javaScript

  • Módulo 7 | 5 clases

    Google Maps

    expand_more
    • play_circle_outline

      Clase 1

      HTML y CSS

    • play_circle_outline

      Clase 2

      Desplegar Mapa

    • play_circle_outline

      Clase 3

      Geolocalización en HTML5

    • play_circle_outline

      Clase 4

      Colocar marcadores

    • play_circle_outline

      Clase 5

      Definir Rutas en el Mapa

  • Módulo 8 | 3 clases

    Parallax

    expand_more
    • play_circle_outline

      Clase 1

      Scroll en Navegación

    • play_circle_outline

      Clase 2

      StellarJS

    • play_circle_outline

      Clase 3

      Scrollorama

  • Módulo 9 | 4 clases

    Responsive Design

    expand_more
    • play_circle_outline

      Clase 1

      Explicación y el Viewport

    • play_circle_outline

      Clase 2

      Explicación sobre Media Queries

    • play_circle_outline

      Clase 3

      Aplicar Media Queries

    • play_circle_outline

      Clase 4

      Correcciones en JS para móviles

  • Módulo 10 | 3 clases

    Extra

    expand_more
    • play_circle_outline

      Clase 1

      Teoría Servidores

    • play_circle_outline

      Clase 2

      Subir Archivos

    • play_circle_outline

      Clase 3

      Preguntas y Respuestas

  • Módulo 11 | 2 clases

    Extras

    expand_more
    • play_circle_outline

      Clase 1

      Botones 3D con SASS

    • play_arrow

      Clase 2

      Mixins en SASS

Mixins en SASS

arrow_back
Curso de Diseño Web Frontend