CSS Gradient
Ein Gradient ist ein fliessender Farbübergang zwischen zwei oder mehr Farben. In CSS gelten Gradients nicht als Farben, sondern als Images – deshalb werden sie meist mit background oder background-image verwendet.
background-color: linear-gradient(...); /* FALSCH */
background: linear-gradient(...); /* RICHTIG */
Syntax
background: linear-gradient(direction, color-stop1, color-stop2, ...);
Bei radial:
background: radial-gradient(shape size at position, colors...);
Linear Gradient
Einfachstes Beispiel
background: linear-gradient(salmon, pink);
background: linear-gradient(Salmon 10%, pink 45%, pink 65%, Salmon 90%);
Richtung festlegen
to rightlinks -> rechtsto leftrechts -> linksto topunten -> obento bottomoben -> unten
background: linear-gradient(to right, darkblue, pink);
background: linear-gradient(to top left, darkblue, pink);
Gradangaben
0degnach oben90degnach rechts180degnach unten270degnach links
background: linear-gradient(45deg, pink, darkmagenta);
Mehrere Farben
Farben verteilen sich automatisch gleichmässig.
background: linear-gradient(darkblue, darkmagenta, magenta, deeppink);
Color Stops
Kann harte Farbkanten erzeugen (fast wie Streifen)
background: linear-gradient(45deg, darkblue 0%, darkblue 30%, skyblue 30%, skyblue 100%);
Transparenz (rgba / hsla)
background: linear-gradient(to bottom, red, rgba(255, 255, 255, .0));
Radial Gradient
Grundform
Startet in der Mitte, kreisförmig
background:radial-gradient(yellow, lime);
Kreis oder Ellipse
Der Grundwert ist ellipse
background:radial-gradient(circle, white, turquoise);
Grösse bestimmen
sideStoppt an einer KantecornerStoppt an einer EckeclosestDer kürzeste Weg (kleiner Kreis)farthestDer weiteste Weg (grosser Kreis)
Werte:
closest-side (nächste Seite)
farthest-side (fernste Seite)
closest-corner (nächste Ecke)
farthest-corner(fernste Ecke) – Der Standard
background:radial-gradient(circle closest-side, white, turquoise);
Position ändern
background: radial-gradient(circle at top left, red, blue);
background: radial-gradient(circle at 30% 70%, red, blue);
background: radial-gradient(circle closest-corner at 80% 0%, pink, red, indigo);
Conic Gradient
Farben rotieren um einen Mittelpunkt
background: conic-gradient(red, yellow, green, blue, red);
Rotation & Position
background: conic-gradient( from 90deg at center, darkmagenta, deeppink, magenta);
Perfekt für: Pie-Charts, Loader, Farbräder
Repeating Gradient
Erzeugt Muster (Streifen, Karos, etc.)
background: repeating-linear-gradient( 45deg, black 0px, black 10px, white 10px, white 20px)
background: repeating-radial-gradient(circle at 100%, #000000, #000000 10px, #eeeeee 10px, #eeeeee 20px);
Gradient & Image
Gradient liegt über dem Bild
Reihenfolge: erstes Gradient = oberste Schicht
background: linear-gradient(to right, rgba(128,0,0,0.5), rgba(128,0,0,0)), url("bild.gif")
DEMO – Pattern mit CSS Gradient