Hauptmenü

Untermenü

CSS3 - Hintergrund - Verlauf - Radialer Verlauf

1. Ein Wort zuvor

Wie ich schon sagte

... war die Recherche zu diesem Thema nicht immer erfreulich. Und das gilt ganz besonders für diesen Abschnitt. Nicht nur, dass ich ein und denselben Fehler auf zig Seiten wieder fand, nein viele wichtige Dinge sind dort oft gar nicht angesprochen worden. Und gefühlte 2/3 der Beispiele waren noch nicht mal Crossbrowser-kompatibel. Außerdem hatten die ganz Ratlosen nur Bilder eingebaut, anstelle von konkreten Darstellungen.

Ich habe mir dann mühsam alle(?) Informationen Stück für Stück zusammen geklaubt und präsentiere sich hier nun. Ich hoffe, dass die Übersicht vollständig und richtig ist. Also genießt das hier mit ein wenig Vorsicht, denn selbst ich bin noch nicht ganz zufrieden damit. Und wer Anmerkungen hat, soll mir einfach eine Mail schicken.

2. radial-gradient

Setzt "runde" Verläufe. Wer dachte linear-gradient wäre kompliziert, der kann sich richtig auf was gefasst machen. Zunächst mal die schlechte Nachricht. Safari und Chrome benötigen hierfür ihr Vendor-Präfix -webkit-. Und jetzt die ganz schlechte Nachricht. In dem Fall ist die Reihenfolge der Angaben anders als im Original.

Und es kommt sogar noch schlimmer. Denn je nach Browser funktioniert dies schon, das aber nicht und jenes nur in Kombination mit irgendetwas anderem. Da ich da im Moment selber noch nicht so ganz durchblicke, reiche ich die entsprechenden Infos bei den Tutorials nach.

Die neue Reihenfolge sieht offiziell so aus.


radial-gradient([Größe] [Format [Ausgangspunkt],
                [Farbe von] [Farbe bis] [Stoppunkte]);

Während sich die alte so gestaltet. Und auch bei allen Angaben mit Vendor-Präfix genommen werden muss.


-webkit-radial-gradient([Ausgangspunkt], [Größe] [Form],
                from [Farbe von] [Farbe bis] [Stoppunkte]);

3. Die Größe

Hier gibt es eine vorgegebene Anzahl vom "Konstanten".

closest-corner

closest-corner

Versucht so genau wie möglich den Rand des Verlaufs an die naheste Ecke des Elements zu ziehen.

closest-side

closest-side

Setzt den Verlauf bis zum nächsten/nahesten Rand des Elements ausgehend von seiner Mitte.

farthest-corner

farthest-corner

Der Rand des Verlauf wird bis zum äußersten Rand des Elements gezogen und zwar ausgehend von der weitesten Entfernung zur Mitte.

farthest-side

farthest-side

Der Rand des Verlaufs reicht bis zur äußersten Ecke.


radial-gradient(closet-side ...);

Ein Hinweis

Natürlich hängen die Details ab von der gewählten Form, aber damit werde ich mich beschäftigen, wenn es an die Tutorials geht.

Zahlenangaben

Sind statt der Konstanten auch möglich. Erlaubt sind die üblichen Größeneinheiten px, %, em und all die anderen, die wir noch nie benutzt haben.


radial-gradient(12em 4em ...);

4. Die Form

Da gibt es nur zwei Möglichkeiten, nämlich circle für kreisförmig und ellipse für ellipsenförmig.


radial-gradient(... ellipse ...);

Wichtig

Wenn man als Größenangabe eine Konstante nimmt, so wird die vom Browser automatisch berechnet, ansonsten muss man bei circle eine und bei ellipse zwei Angaben machen.

6. Ausgangspunkt

Den definiert man hinter der Form und zwar mit dem kleinen Wortchen at. Als Größenangabe gelten auch hier die üblichen Verdächtigen.


radial-gradient(... ... at 3525%, ...);

6. Farben

Die werden am Ende einfach durch ein Komma voneinander getrennt aufgereiht. Dabei gelten ein paar einfache Grundregeln.


radial-gradient(..., #fff, #aaa);
radial-gradient(..., #fff, #aaa, #00f);
radial-gradient(..., #fff 25px, #aaa 70px, #f00 100px, #00f 200px);

7. Die Problemkinder

... sind wie schon oben angedeutet der Safari und der Chrome. Denn bei der webkit-Variante gibt es nicht nur eine alte und eine neue Fassung, nein, beide Browser scheinen eine bestimmte Sache einfach nicht zu können, nämlich eine numerische Größenangabe. Und zwar in der neuen Version. Da ich keine Lust habe, mich auch noch mit der alten herumzuschlagen, belasse ich es erst mal dabei. Bei den folgenden Beispielen werdet ihr es sehen, plus ein paar funktionsfähige Codebeispiele für die webkit-Variante.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt