Çizgili Degrade Karıştırıcı - CSS Hileleri

Anonim

CSS'de çizgiler çizmenin popüler bir yolu, üst üste binen renk duraklarıyla doğrusal bir gradyan tanımlamaktır. Çok iyi çalışıyor ama elle yazmak pek uygun değil… Milyar dolarlık fikir: Sass'ı bir renk listesinden otomatik olarak oluşturmak için kullanmak!

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

Kullanım

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

CodePen'de Hugo Giraudel (@HugoGiraudel) tarafından Kalem a990b82465115c2b556f1b86bf4692c7'ye bakın.