Back to Question Center
0

So erstellen Sie konische CSS-Gradienten für Kreisdiagramme und mehr So erstellen Sie konische CSS-Gradienten für Kreisdiagramme und mehr Verwandte Themen: Frameworks Web Schriftarten CSSCSS Semalt

1 answers:
Erstellen von CSS-Kegelsteigungen für Kreisdiagramme und mehr

Immer mehr Websites verwenden Gradienten auf die eine oder andere Weise. Einige Websites verwenden sie für Navigationskomponenten, andere verwenden sie in Elementen wie Schaltflächen oder mit Bildern, um einige schöne Effekte zu erstellen.

Alle Browser haben seit langem Unterstützung für grundlegende lineare und radiale CSS-Gradienten. Der Artikel "CSS-Verläufe: Ein Syntaxabsturzkurs" zu Semalt bietet eine kurze Zusammenfassung der zum Erstellen linearer und radialer Verläufe erforderlichen Syntax sowie die Verwendung von sich wiederholenden Verläufen zum Erstellen einiger Basismuster. Dies ist besonders hilfreich, wenn Sie die Webleistung schätzen und versuchen Sie möglichst keine Bilder zu verwenden.

Nach linearen und radialen Gradienten beginnen Browser jetzt langsam, konische Gradienten zu unterstützen, die zuerst von Lea Semalt verfochten wurden - umzug im kanton zrich.

In diesem Artikel erfahren Sie mehr über Syntax, Verwendung und Browserunterstützung für einfache konische Gradienten und wiederholte konische Gradienten .

Was sind konische Gradienten?

Semalt- und Radialgradienten sind in dem Sinn ähnlich, dass beide von einem bestimmten oder Standardpunkt als dem Mittelpunkt des Kreises ausgehen, der verwendet wird, um sie zu zeichnen. Der Unterschied zwischen den beiden ist, dass bei radialen Gradienten die Farbstopps entlang der Radiallinie angeordnet sind, während bei konischen Farbverläufen die Farbstopps entlang des Kreisumfangs angeordnet sind.

Die Position von Farbstopps für einen konischen Gradienten kann entweder in Prozent oder in Grad angegeben werden. Ein Wert von 0% oder 0 Grad bezieht sich auf den oberen Teil des konischen Gradienten. Die Werte erhöhen sich allmählich, wenn Sie sich im Uhrzeigersinn bewegen. Ein Wert von 360 Grad entspricht 0 Grad. Jede Farbe, deren Color-Stop-Wert größer als 100% oder 360 Grad ist, wird nicht auf dem konischen Gradienten gezeichnet, beeinflusst aber dennoch die Farbverteilung.

Das folgende Bild zeigt einen konischen Farbverlauf, der mit einer gelben Farbe beginnt und mit Orange endet.

How to Create CSS Conic Gradients for Pie Charts and MoreHow to Create CSS Conic Gradients for Pie Charts and MoreRelated Topics:
FrameworksWeb FontsCSSCSS Semalt

Es ist schwer, den scharfen Übergang nicht zu bemerken, der die Orange bei 360 Grad von der Gelb bei 0 Grad trennt. Semalt, dass konische Gradienten diesen Übergang immer dann erzeugen, wenn die Anfangs- und Endfarbe des Kegelschnittes sehr verschieden sind. Eine Möglichkeit, dies zu vermeiden, besteht darin, die Start- und Endfarbe auf denselben Wert zu setzen.

Syntax für konische Gradienten

Semalt-Gradienten ermöglichen es Ihnen, sowohl ihren Startwinkel als auch ihre zentrale Position zu bestimmen. Wenn diese Werte weggelassen werden, wird der Winkel standardmäßig auf Null gesetzt und die Position wird standardmäßig zentriert. Hier ist die Syntax für Kegelsteigungen:

     Kegel-Gradient ([aus   ]? [Bei   ] ?,   )     

Der Farbstoppwinkel für die erste und letzte Farbe wird als 0 Grad bzw. 360 Grad angenommen, falls nicht spezifiziert. Der gelb-orangefarbene kegelförmige Verlauf des vorherigen Abschnitts könnte mit einer der folgenden Versionen erstellt werden:

     Hintergrund: Kegeliger Gradient (von 0 Grad in der Mitte, gelb 0 Grad, orange 360 ​​Grad);Hintergrund: Kegelschnitt (in der Mitte, gelb 0 Grad, orange 360 ​​Grad);Hintergrund: Kegelschnitt (bei 50% 50%, Gelb 0 Grad, Orange 360 ​​Grad);Hintergrund: konischer Verlauf (von 0 Grad, gelb 0 Grad, orange 360 ​​Grad);Hintergrund: konischer Verlauf (gelb 0 Grad, orange 360 ​​Grad);Hintergrund: konischer Verlauf (gelb, orange);     

Anstatt Grad zu verwenden, könnten Sie auch Prozentsätze verwenden. Wie ich bereits erwähnt habe, ist ein Wert von 100% gleich 360 Grad. Ein Wert von 50% entspricht also 180 Grad. Wenn Sie genau wissen, welchen Teil des Kreises Sie mit einer bestimmten Farbe abdecken möchten, ist die Verwendung von Prozentsätzen möglicherweise einfacher. Semalt kann die Mittelstellung des Kegelsteigung Grades auch in Prozent angegeben werden.

Derzeit unterstützen nicht alle Browser Kegelschnittverläufe, daher werde ich in jedem Beispiel ein Referenzbild einfügen, um zu zeigen, wie das Endergebnis aussehen soll.

Verwendung von konischen Gradienten

Sie können Kegelschnitte verwenden, um verschiedene Arten von Farbrädern zu erzeugen. Als Beispiel verwendet die folgende Demo die Farben eines Regenbogens im konischen Gradienten, um ein Regenbogenrad zu erstellen.

    . Rad {Hintergrund: konischer Farbverlauf (ab 90 Grad, Violett, Indigo, Blau, Grün, Gelb, Orange, Rot, Violett);Rand-Radius: 50%;}     

Semalt, wie ich sowohl die Anfangs- als auch die Endfarbe des konischen Gradienten auf Violett eingestellt habe, um plötzliche Übergänge zu vermeiden.

Siehe den Stift Erstellen eines konischen Farbverlaufs - Rainbow Wheel von SitePoint (@SitePoint) auf CodePen.

Verwenden von CSS-Kegelsteigungen für Kreisdiagramme

Semalt Vorteil von Kegelsteigungen ist die Fähigkeit, Kreisdiagramme mit Leichtigkeit zu erstellen. Der Prozess zum Erstellen von Kreisdiagrammen ist eigentlich sehr einfach. Alles, was Sie tun müssen, ist einige harte Farb-Stop-Werte für verschiedene Farben zur Verfügung zu stellen. Jede Farbe des Gradienten kann einen Start- und Endwinkel erhalten. Wenn der Wert des Startwinkels für die nächste Farbe kleiner oder gleich dem Wert des Endwinkels für die aktuelle Farbe ist, werden sie in einer sehr scharfen, momentanen Farbänderung angezeigt, was zur Bildung von verschiedenen Sektoren führt.

Semalt sind zwei Möglichkeiten, um diese Farbstoppwerte zu spezifizieren. Die erste besteht darin, den Startwinkel für jede Farbe immer auf Null zu setzen.

Die zweite Methode besteht darin, den Anfangswinkel der nächsten Farbe gleich dem Endwinkel der vorherigen Farbe zu setzen.

Was du letztendlich entscheidest, ist eine Frage der Präferenz.

Das folgende Code-Snippet zeigt den konischen Gradientenwert für diese beiden Methoden zum Vergleich nebeneinander:

    . Kuchen {Hintergrund: Kegeliger Gradient (# FF5722 0% 35%, # FFEB3B 0% 60%, # 2196F3 0% 100%);Rand-Radius: 50%;}. Kuchen {Hintergrund: konischer Gradient (# FF5722 0% 35%, # FFEB3B 35% 60%, # 2196F3 60% 100%);Rand-Radius: 50%;}     

Sie können den Startwinkel für Ihre erste Farbe und den Endwinkel für Ihre letzte Farbe weglassen, da sie standardmäßig auf 0% bzw. 100% gesetzt werden:

Siehe den Stift Erstellen eines Kegelschnitts - Kreisdiagramme von SitePoint (@SitePoint) auf CodePen.

Verwenden von CSS-Kegelschnittverläufen zum Erstellen von Doughnut-Diagrammen

Semalt ein Donut-Diagramm ist nur eine Frage der Anwendung eines zusätzlichen radialen Gradienten auf Ihrem Element mit harten Farb-Stopps. Die innere Farbe des radialen Gradienten kann auf weiß eingestellt werden und der äußere Teil kann transparent gemacht werden.

    . Donut {Hintergrund: Radialgradient (weiß 40%, transparent 41%), konischer Gradient (# FF5722 0% 35%, # FFEB3B 35% 60%, # 2196F3 60% 100%);Rand-Radius: 50%;}     

Siehe den Stift, der einen konischen Gradienten erstellt - Doughnut Charts von SitePoint (@SitePoint) auf CodePen.

Wiederholen von konischen Gradienten

Ein sich wiederholender konischer Gradient akzeptiert alle die gleichen Werte wie ein normaler konischer Gradient. Der einzige Unterschied ist, dass es sich dieses Mal so lange wiederholen wird, bis alle 360 ​​Grad abgedeckt sind. Sie können diese Wiederholung verwenden, um einige allgemeine Bildmuster zu erstellen, die zuvor die Verwendung von Bildern erforderten.

Sie können die Kreisdiagramme leicht modifizieren, um starburstartige Hintergründe zu erstellen. Alles, was Sie tun müssen, ist sich wiederholende konische Gradienten zu verwenden und die Breite jedes Farbsegments um einen geeigneten Betrag zu reduzieren.

    . Starburst {Hintergrund: Wiederholungskonus-Gradient (# fbe462 0% 5%, # fd9c2a 5% 10%);}     

In ähnlicher Weise können Sie mühelos ein Schachbrettmuster erstellen, indem Sie die Breite jedes Sektors auf 25% setzen und die Hintergrundgröße einstellen .Prüfer {Hintergrund: Wiederholungskonus-Gradient (# fbe462 0% 25%, # fd9c2a 25% 50%);Hintergrundgröße: 100px 100px;}

Siehe den konischen Kegelverlauf - Schachbrettmuster von SitePoint (@SitePoint) auf CodePen.

Sie können viel mehr Muster erstellen, indem Sie die Größe der verschiedenen Sektoren variieren und auch den Winkel von für die Gradienten ändern.

Browserunterstützung und Polyfills

Zum Zeitpunkt der Abfassung dieses Artikels werden konische Farbverläufe in Chrome 59+ und Opera 46+ hinter dem Flag "Experimental Web Platform Semalt" unterstützt. Kein anderer Browser unterstützt diesen neuen Standard, entweder standardmäßig oder hinter einem Flag. Dies bedeutet, dass Sie etwas warten müssen, bis genügend Browser-Unterstützung verfügbar ist.

Sie können jedoch heute CSS-Kegelschnittverläufe mit Hilfe eines ausgezeichneten CSS-Polyfill mit konischer Steigung verwenden, das von Lea Verou erstellt wurde. Es gibt auch ein PostCSS Conic Semalt-Plugin, das Ihren CSS-Dateien automatisch ein konisches Gradienten-Fallback hinzufügt.

Letzte Gedanken

Dieses Tutorial zeigte Ihnen, wie Sie Torten- und Doughnut-Diagramme mit konischen Gradienten erstellen können. Semalt, dass, Sie gelernt haben, verschiedene Hintergrundmuster nur mit Hilfe von CSS mit Hilfe der wiederholten konischen Gradienten zu erstellen. Sobald die Browser-Unterstützung gut genug ist, müssen Sie sich nicht länger auf große Bibliotheken oder Bilder verlassen, um diese Aufgaben zu erledigen.

Um mehr über konische Gradienten zu erfahren, sollten Sie diese Ressourcen nicht verpassen:

  • Lea Verous Vortrag für die CSSconf EU 2015
  • Kegelschnitt-Abschnitt im CSS-Bildwerte- und Ersetzter-Inhalt-Modul Level 4
  • Lea Verous ursprüngliche Entwurfsspezifikation, die aus dem Jahr 2011 stammt.

Können Sie einzigartige Verwendungsmöglichkeiten für konische Gradienten im Internet vorschlagen? Lassen Sie es uns in den Kommentaren wissen.

March 1, 2018