r
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
構文
/* 長さとパーセント値 */
r: 3px;
r: 20%;
/* グローバル値 */
r: inherit;
r: initial;
r: revert;
r: revert-layer;
r: unset;
値
円の半径を定義する <length>
と <percentage>
の値です。
<length>
-
絶対的または相対的な長さで、 CSS の
<length>
データ型で許可されている任意の単位で表現することができます。負の値は無効です。 <percentage>
-
現在の SVG ビューポートの、 で計算される正規化された対角線を参照するパーセント値です。
公式定義
形式文法
r =
<length-percentage>
<length-percentage> =
<length> |
<percentage>
例
円の半径の定義
この例では、 SVG 内に 2 つの同一の <circle>
要素が存在し、それぞれ半径が 10
で、中心点の X 軸座標と Y 軸座標が同じです。
<svg xmlns="http://www.w3.org/2000/svg">
<circle cx="50" cy="50" r="10" />
<circle cx="50" cy="50" r="10" />
</svg>
CSS を使用して、最初の円のみスタイルを設定し、 2 番目の円には既定のスタイルを使用します(fill
の既定値は黒)。 r
プロパティを使用して SVG の r
属性の値を上書きし、 fill
と stroke
を指定します。 SVG の既定のサイズは、幅が 300px
、高さが 150px
です。
svg {
border: 1px solid black;
}
circle:first-of-type {
r: 30px;
fill: lightgreen;
stroke: black;
}
ViewBox とビューポートのピクセル
この例では、 2 つの SVG が含まれており、それぞれに 2 つの <circle>
要素があります。 2 つ目の SVG には viewBox
属性が記載されており、SVG の viewBox と SVG のビューポートの違いを示しています。
<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>
CSS は前回の例と似ており、 r: 30px
が設定されていますが、画像がどちらも確実に 300px
になるように、 width
を設定します。
svg {
border: 1px solid black;
width: 300px;
}
circle:first-of-type {
r: 30px;
fill: lightgreen;
stroke: black;
}
viewBox
属性は SVG を SVG 座標系で 200 ピクセルの幅として定義し、画像は 300px
まで拡大されるため、SVG 座標で 30
ピクセルである部分は、CSS ピクセルでは 45
ピクセルとしてレンダリングされるように変倍されます。
パーセント値を使用して円の半径を定義
この例では、前回の例と同じマークアップを使用します。唯一の違いは r
の値であり、この場合はパーセント値を使用します。
svg {
border: 1px solid black;
width: 300px;
}
circle:first-of-type {
r: 30%;
fill: lightgreen;
stroke: black;
}
どちらの場合も、円の半径は SVG ビューポートの正規化された対角線の 30%
です。半径 r
は と同等です。最初の画像は 300
と 150
の CSS ピクセルを使用し、2 番目の画像は 200
と 100
の SVG ビューボックス単位を使用していますが、30% は比例した値です。その結果、r
の値は同じになります。 47.43
ビューボックス単位で、71.15
CSS ピクセルに解決されます。
r
は同じだが、 2 番目の SVG は 50% 拡大され、中心が 50% 下に、そして右に押されているため、中心点が異なっています。
仕様書
Specification |
---|
Scalable Vector Graphics (SVG) 2 # R |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
- 幾何プロパティ:
r
,cx
,cy
,rx
,ry
,x
,y
,width
,height
fill
stroke
paint-order
border-radius
一括指定プロパティradial-gradient
<basic-shape>
データ型- SVG の
r
属性