r
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.
Die r
CSS-Eigenschaft definiert den Radius eines Kreises. Sie kann nur mit dem SVG-<circle>
-Element verwendet werden. Wenn sie vorhanden ist, überschreibt sie das r
-Attribut des Kreises.
Syntax
/* Length and percentage values */
r: 3px;
r: 20%;
/* Global values */
r: inherit;
r: initial;
r: revert;
r: revert-layer;
r: unset;
Werte
Die <length>
- und <percentage>
-Werte definieren den Radius des Kreises.
<length>
-
Absolute oder relative Längen können in jeder Einheit ausgedrückt werden, die vom CSS-Datentyp
<length>
erlaubt ist. Negative Werte sind ungültig. <percentage>
-
Prozentsätze beziehen sich auf die normalisierte Diagonale des aktuellen SVG-Anzeigebereichs, die berechnet wird als .
Formale Definition
Anfangswert | 0 |
---|---|
Anwendbar auf | <circle> element in <svg> |
Vererbt | Nein |
Prozentwerte | refer to the normalized diagonal of the current SVG viewport |
Berechneter Wert | der Prozentwert wie angegeben oder die absolute Länge |
Animationstyp | by computed value type |
Formale Syntax
r =
<length-percentage>
<length-percentage> =
<length> |
<percentage>
Beispiele
Radius eines Kreises definieren
In diesem Beispiel haben wir zwei identische <circle>
-Elemente in einem SVG, jedes mit einem Radius von 10
und denselben x- und y-Achsenkoordinaten für ihre Mittelpunkte.
<svg xmlns="http://www.w3.org/2000/svg">
<circle cx="50" cy="50" r="10" />
<circle cx="50" cy="50" r="10" />
</svg>
Mit CSS gestalten wir nur den ersten Kreis, während der zweite Kreis die Standardstile verwendet (wobei fill
standardmäßig auf Schwarz gesetzt ist). Wir verwenden die r
-Eigenschaft, um den Wert des SVG-r
-Attributs zu überschreiben, ihm eine fill
und stroke
zu geben. Die Standardgröße eines SVG beträgt 300px
Breite und 150px
Höhe.
svg {
border: 1px solid black;
}
circle:first-of-type {
r: 30px;
fill: lightgreen;
stroke: black;
}
ViewBox versus Anzeigebereichs-Pixel
Dieses Beispiel enthält zwei SVGs, jeweils mit zwei <circle>
-Elementen. Das zweite SVG enthält ein viewBox
-Attribut, um den Unterschied zwischen SVG-ViewBox und SVG-Anzeigebereichen zu demonstrieren.
<svg xmlns="http://www.w3.org/2000/svg">
<circle cx="50" cy="50" r="10" />
<circle cx="50" cy="50" r="10" />
</svg>
<svg viewBox="0 0 200 100" xmlns="http://www.w3.org/2000/svg">
<circle cx="50" cy="50" r="10" />
<circle cx="50" cy="50" r="10" />
</svg>
Das CSS ist dem vorherigen Beispiel ähnlich, mit r: 30px
gesetzt, aber wir setzen eine width
, um sicherzustellen, dass die Bilder jeweils 300px
breit sind:
svg {
border: 1px solid black;
width: 300px;
}
circle:first-of-type {
r: 30px;
fill: lightgreen;
stroke: black;
}
Weil das viewBox
-Attribut das SVG auf 200 SVG-Koordinatensystem-Pixel Breite definiert und das Bild auf 300px
hochskaliert wird, werden die 30
SVG-Koordinatensystem-Pixel skaliert, um als 45
CSS-Pixel gerendert zu werden.
Radius eines Kreises mit Prozentsätzen definieren
In diesem Beispiel verwenden wir denselben Markup wie im vorherigen Beispiel. Der einzige Unterschied ist der r
-Wert; in diesem Fall verwenden wir einen Prozentsatzwert.
svg {
border: 1px solid black;
width: 300px;
}
circle:first-of-type {
r: 30%;
fill: lightgreen;
stroke: black;
}
In beiden Fällen beträgt der Kreisradius 30%
der normalisierten Diagonale des SVG-Anzeigebereichs. Der Radius r
ist gleich . Während das erste Bild 300
und 150
CSS-Pixel verwendet und das zweite 200
und 100
SVG-ViewBox-Einheiten, ist 30%
ein proportionaler Wert. Daher ist der r
-Wert gleich: 47.43
ViewBox-Einheiten, was 71.15
CSS-Pixel entspricht.
Obwohl r
gleich ist, unterscheiden sich die Mittelpunkte, weil das zweite SVG um 50% hochskaliert ist, was sein Zentrum um 50% nach unten und rechts verschiebt.
Spezifikationen
Specification |
---|
Scalable Vector Graphics (SVG) 2 # R |
Browser-Kompatibilität
Siehe auch
- Geometrie-Eigenschaften:
r
,cx
,cy
,rx
,ry
,x
,y
,width
,height
fill
stroke
paint-order
border-radius
Kurzschreibweiseradial-gradient
<basic-shape>
Datentyp- SVG-
r
-Attribut