Wie zeichnet man mit HTML5 und CSS3 einen Kreis?
Ist es auch möglich, Text einzufügen?
html
css
geometry
css-shapes
Sergey Metlov
quelle
quelle
Antworten:
Sie können keinen Kreis per se zeichnen. Aber Sie können etwas mit einem Kreis identisch machen.
Sie müssten ein Rechteck mit abgerundeten Ecken (Via
border-radius
) erstellen , die die Hälfte der Breite / Höhe des Kreises betragen , den Sie erstellen möchten.quelle
border-radius: 50%;
gut funktioniert, ändern Sie die Größe wie gewünscht. Für Farbe können Siebackground-color
oder verwendenborder
.In HTML 5 ist dies durchaus möglich . Ihre Optionen sind: Eingebettetes SVG und
<canvas>
Tag .So zeichnen Sie einen Kreis in eingebettetem SVG:
Kreis in
<canvas>
:quelle
Es gibt einige Unicode-Kreise, die Sie verwenden können:
Mehr Formen hier .
Sie können den Kreisen Text überlagern, wenn Sie:
Code-Snippet anzeigen
Sie können auch eine benutzerdefinierte Schriftart (wie diese ) verwenden, wenn Sie eine höhere Wahrscheinlichkeit haben möchten, dass sie auf verschiedenen Systemen gleich aussieht, da nicht auf allen Computern / Browsern die gleichen Schriftarten installiert sind.
quelle
border-radius:50%
Wenn Sie möchten, dass sich der Kreis an die Abmessungen des Containers anpasst (z. B. wenn der Text eine variable Länge hat).Vergessen Sie nicht die Präfixe
-moz-
und-webkit-
!quelle
Ab 2015 können Sie den Text mit nur 15 Zeilen CSS ( Fiddle ) erstellen und zentrieren :
Ohne
-webkit-
s funktioniert dies unter IE11, Firefox, Chrome und Opera und es ist gültiges HTML5 (experimentell) und CSS3.Gleiches gilt für MS Edge (2020).
quelle
quelle
Sie können das Attribut Rahmenradius verwenden, um ihm einen Randradius zu geben, der dem Randradius des Elements entspricht. Beispielsweise:
(Der Grund für die Verwendung der Erweiterungen -moz und -webkit ist die Unterstützung von Pre-CSS3-endgültigen Versionen von Gecko und Webkit.)
Es gibt weitere Beispiele auf dieser Seite . Das Einfügen von Text ist möglich, Sie müssen jedoch auf die Positionierung achten, da das Box-Padding-Modell der meisten Browser immer noch das äußere Quadrat verwendet.
quelle
Es gibt technisch keine Möglichkeit, einen Kreis mit HTML zu zeichnen (es gibt kein
<circle>
HTML-Tag), aber es kann ein Kreis gezeichnet werden.Der beste Weg, einen zu zeichnen, ist das Hinzufügen
border-radius: 50%
zu einem Tag wiediv
. Hier ist ein Beispiel:quelle
border-radius: 50%;
verwandelt alle Elemente in einen Kreis, unabhängig von der Größe. Zumindest solange dasheight
undwidth
des Ziels gleich sind, wird es sonst zu einem Oval .Hinweis : Für den Rahmenradius werden keine Browserpräfixe mehr benötigt
Alternativ können Sie
clip-path: circle();
ein Element auch in einen Kreis verwandeln. Selbst wenn das Element größerwidth
alsheight
(oder umgekehrt) ist, wird es immer noch ein Kreis und kein Oval.Hinweis : Clip-Pfad ist nicht (noch) nicht von allen Browsern unterstützt
Sie können Text innerhalb des Kreises platzieren, indem Sie den Text einfach
wie folgt in die Tags des Ziels schreiben :
Wenn Sie wollen Mitte Text im Kreis, können Sie folgendes tun:
quelle
Sie können die Eigenschaft border-radius verwenden oder ein div mit fester Höhe und Breite und einen Hintergrund mit einem PNG-Kreis erstellen.
quelle
Gehen Sie in den Skript-Tags einfach wie folgt vor:
Und los geht's, du hast deinen Kreis.
quelle
quelle
quelle
einfach und Anfänger :)
quelle
quelle
Wenn Sie sass zum Schreiben Ihres CSS verwenden, können Sie Folgendes tun:
Welche Ausgänge:
Probieren Sie es hier aus: https://www.sassmeister.com/
quelle