CSS3 Verläufe


Verlaufseffekt

Mit CSS3-Verläufen können Sie sanfte Übergänge zwischen zwei oder mehr angegebenen Farben anzeigen.

Früher mussten Sie Bilder verwenden, um diese Effekte zu erzielen. Durch die Verwendung von CSS3-Farbverläufen können Sie jedoch die Downloadzeit und die Bandbreitennutzung reduzieren. Außerdem sehen Elemente mit Farbverlaufseffekten beim Vergrößern besser aus, weil der Farbverlauf vom Browser erzeugt wird.

CSS3 definiert zwei Arten von Farbverläufen:

  • Lineare Farbverläufe - nach unten/nach oben/nach links/nach rechts/diagonal
  • Radiale Farbverläufe - definiert durch ihren Mittelpunkt

Eigenschaften im Zusammenhang mit linearen Farbverläufen:background-image。

Online-Tool für lineare Farbverläufe:Online Gradient Tool.


Browser-Unterstützung

Die Zahlen in der Tabelle geben die erste Browserversion an, die die Eigenschaft vollständig unterstützt.

Eigenschaft
background-image 1.0 4.0 1.0 1.0 3.5

Hinweis:IE8 und frühere Versionen der IE-Browser unterstützen diese Eigenschaft nicht.



Lineare Farbverläufe mit CSS3

Um einen linearen Farbverlauf zu erstellen, müssen Sie mindestens zwei Farbstopps definieren. Farbstopps sind die Farben, zwischen denen Sie sanfte Übergänge darstellen möchten. Sie können auch einen Startpunkt und eine Richtung (oder einen Winkel) festlegen.

Beispiele für lineare Farbverläufe:

线性渐变

Syntax

background-image: linear-gradient(direction, color-stop1, color-stop2, ...);

Linearer Farbverlauf - von oben nach unten (standardmäßig)

Das folgende Beispiel zeigt einen linearen Farbverlauf, der von oben beginnt. Er startet mit Rot und geht allmählich in Blau über:

Beispiel

Linearer Gradient - Von oben nach unten:

#grad { background-image: linear-gradient(#e66465, #9198e5); }

Selbst ausprobieren »

Linearer Gradient - Von links nach rechts

Das folgende Beispiel zeigt einen linearen Gradienten, der von links beginnt. Er startet mit Rot und geht allmählich in Gelb über:

Beispiel

Linearer Gradient - Von links nach rechts:

#grad { height: 200px; background-image: linear-gradient(to right, red , yellow); }

Selbst ausprobieren »

Linearer Gradient - Diagonal

Sie können einen diagonalen Gradienten erstellen, indem Sie die horizontalen und vertikalen Startpositionen angeben.

Das folgende Beispiel zeigt einen linearen Gradienten, der von der oberen linken Ecke beginnt (und zur unteren rechten Ecke verläuft). Er startet mit Rot und geht allmählich in Gelb über:

Beispiel

Linearer Gradient - Von links oben nach rechts unten:

#grad { height: 200px; background-image: linear-gradient(to bottom right, red, yellow); }

Selbst ausprobieren »


Winkel verwenden

Wenn Sie mehr Kontrolle über die Richtung des Farbverlaufs wünschen, können Sie einen Winkel anstelle einer vordefinierten Richtung definieren (to bottom, to top, to right, to bottom right usw.).

Syntax

background-image: linear-gradient(angle, color-stop1, color-stop2);

Der Winkel ist der Winkel zwischen der horizontalen Linie und der Farbverlaufslinie, gegen den Uhrzeigersinn gemessen. Mit anderen Worten: 0deg erzeugt einen Farbverlauf von unten nach oben und 90deg erzeugt einen Farbverlauf von links nach rechts.

Beachten Sie jedoch, dass viele Browser (Chrome, Safari, Firefox usw.) den alten Standard verwenden: 0deg erzeugt einen Farbverlauf von links nach rechts und 90deg erzeugt einen Farbverlauf von unten nach oben. Umrechnungsformel:90 - x = yDabei ist x der Standardwinkel und y der nicht standardmäßige Winkel.

Das folgende Beispiel zeigt, wie Winkel bei linearen Farbverläufen verwendet werden:

Beispiel

Linearer Farbverlauf mit einem angegebenen Winkel:

#grad { background-image: linear-gradient(-90deg, red, yellow); }

Selbst ausprobieren »


Mehrere Farbstopps verwenden

Das folgende Beispiel zeigt, wie mehrere Farbstopps festgelegt werden:

Beispiel

Ein linearer Farbverlauf von oben nach unten mit mehreren Farbstopps:

#grad { background-image: linear-gradient(red, yellow, green); }

Selbst ausprobieren »

Das folgende Beispiel zeigt, wie man einen linearen Farbverlauf mit Regenbogenfarben und Text erstellt:

Beispiel

#grad { /*Standard-Syntax*/ background-image: linear-gradient(to right, red,orange,yellow,green,blue,indigo,violet); }

Selbst ausprobieren »


Transparenz verwenden (transparent)

CSS3-Farbverläufe unterstützen auch Transparenz, mit der sich Ausblendeffekte erzeugen lassen.

Um Transparenz hinzuzufügen, verwenden wir die rgba()-Funktion, um Farbstopps zu definieren. Der letzte Parameter in der rgba()-Funktion kann ein Wert von 0 bis 1 sein, der die Deckkraft der Farbe definiert: 0 bedeutet vollständig transparent, 1 bedeutet vollständig undurchsichtig.

Das folgende Beispiel zeigt einen linearen Farbverlauf, der von links beginnt. Er startet vollständig transparent und geht allmählich in ein vollständig deckendes Rot über:

Beispiel

Ein linearer Farbverlauf von links nach rechts mit Transparenz:

#grad { background-image: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1)); }

Selbst ausprobieren »


Sich wiederholende lineare Farbverläufe

Die Funktion repeating-linear-gradient() wird für sich wiederholende lineare Farbverläufe verwendet:

Beispiel

Ein sich wiederholender linearer Farbverlauf:

#grad { /*Standard-Syntax*/ background-image: repeating-linear-gradient(red, yellow 10%, green 20%); }

Selbst ausprobieren »


CSS3 radiale Farbverläufe

Radiale Farbverläufe werden durch ihren Mittelpunkt definiert.

Um einen radialen Farbverlauf zu erstellen, müssen Sie außerdem mindestens zwei Farbstopps definieren. Farbstopps sind die Farben, zwischen denen Sie sanfte Übergänge darstellen möchten. Sie können auch den Mittelpunkt des Farbverlaufs, die Form (Kreis oder Ellipse) und die Größe angeben. Standardmäßig ist der Mittelpunkt des Farbverlaufs center (d. h. am Mittelpunkt), die Form ist ellipse und die Größe ist farthest-corner.

Beispiele für radiale Farbverläufe:

Radial gradient

Syntax

background-image: radial-gradient(shape size at position, start-color, ..., last-color);

Radialer Farbverlauf - gleichmäßig verteilte Farbstopps (standardmäßig)

Beispiel

Radialer Farbverlauf mit gleichmäßig verteilten Farbstopps:

#grad { background-image: radial-gradient(red, yellow, green); }

Selbst ausprobieren »

Radialer Farbverlauf - ungleichmäßig verteilte Farbstopps

Beispiel

Ein radialer Farbverlauf mit ungleichmäßig verteilten Farbstopps:

#grad { background-image: radial-gradient(red 5%, yellow 15%, green 60%); }

Selbst ausprobieren »


Form festlegen

Der Parameter shape definiert die Form. Er kann den Wert circle oder ellipse haben. Hierbei bedeutet circle einen Kreis und ellipse eine Ellipse. Der Standardwert ist ellipse.

Beispiel

Radialer Farbverlauf in Form eines Kreises:

#grad { background-image: radial-gradient(circle, red, yellow, green); }

Selbst ausprobieren »


Verwendung verschiedener Größen-Schlüsselwörter

Der Parameter size definiert die Größe des Farbverlaufs. Er kann einen der folgenden vier Werte haben:

  • closest-side
  • farthest-side
  • closest-corner
  • farthest-corner

Beispiel

Radiale Farbverläufe mit unterschiedlichen Größen-Schlüsselwörtern:

#grad1 { background-image: radial-gradient(closest-side at 60% 55%, red, yellow, black); } #grad2 { background-image: radial-gradient(farthest-side at 60% 55%, red, yellow, black); }

Selbst ausprobieren »


Wiederholte radiale Farbverläufe

Die Funktion repeating-radial-gradient() wird für wiederholte radiale Farbverläufe verwendet:

Beispiel

Ein wiederholter radialer Farbverlauf:

#grad { background-image: repeating-radial-gradient(red, yellow 10%, green 15%); }

Selbst ausprobieren »
Weitere Erweiterungen