Dryžuotas gradientas Mixin CSS-gudrybės

Anonim

Populiarus būdas piešti juostas CSS, kad būtų galima apibrėžti tiesinį gradientą su sutampančiais spalvų sustojimais. Tai veikia labai gerai, bet nėra labai patogu rašyti ranka ... Milijardų dolerių idėja: naudodami „Sass“, kad automatiškai sugeneruotumėte ją iš spalvų sąrašo!

/// 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; ) )

Naudojimas

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

Žiūrėkite Hugo Giraudelio (@HugoGiraudel) „CodePen“ rašiklį a990b82465115c2b556f1b86bf4692c7.