Mixin degradado de rayas - Trucos CSS

Anonim

Una forma popular de dibujar rayas en CSS es para definir un degradado lineal con paradas de color superpuestas. Funciona muy bien pero no es muy conveniente escribirlo a mano… Idea de miles de millones de dólares: usar Sass para generarlo automáticamente a partir de una lista de colores.

/// Stripe builder /// @author Hugo Giraudel /// @param (Direction) $direction - Gradient direction /// @param (List) $colors - List of colors /// @output `background-image` if several colors, `background-color` if only one @mixin stripes($direction, $colors) ( $length: length($colors); @if $length > 1 ( $stripes: (); @for $i from 1 through $length ( $stripe: (100% / $length) * ($i - 1); @if $i > 1 ( $stripes: append($stripes, nth($colors, $i - 1) $stripe, comma); ) $stripes: append($stripes, nth($colors, $i) $stripe, comma); ) background-image: linear-gradient($direction, $stripes); ) @else if $length == 1 ( background-color: $colors; ) )

Uso

body ( @include stripes(to right, #8e44ad #2c3e50 #2980b9 #16a085 #27ae60); )

Vea el lápiz a990b82465115c2b556f1b86bf4692c7 de Hugo Giraudel (@HugoGiraudel) en CodePen.