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.

rCSS のプロパティで、円の半径を定義します。これは SVG の <circle> 要素でのみ使用されます。存在する場合、その円の r 属性を上書きします。

メモ: r プロパティは、 <svg> の中にある <circle> 要素にのみ適用されます。その他の SVG 要素、 HTML 要素、擬似要素には適用されません。

構文

css
/* 長さとパーセント値 */ r: 3px; r: 20%; /* グローバル値 */ r: inherit; r: initial; r: revert; r: revert-layer; r: unset; 

円の半径を定義する <length><percentage> の値です。

<length>

絶対的または相対的な長さで、 CSS の <length> データ型で許可されている任意の単位で表現することができます。負の値は無効です。

<percentage>

現在の SVG ビューポートの、 <width>2+<height>22 で計算される正規化された対角線を参照するパーセント値です。

公式定義

初期値0
適用対象<circle> element in <svg>
継承なし
パーセント値refer to the normalized diagonal of the current SVG viewport
計算値指定されたパーセント値または絶対的な長さ
アニメーションの種類計算値の型による

形式文法

r = 
<length-percentage>

<length-percentage> =
<length> |
<percentage>

円の半径の定義

この例では、 SVG 内に 2 つの同一の <circle> 要素が存在し、それぞれ半径が 10 で、中心点の X 軸座標と Y 軸座標が同じです。

html
<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 属性の値を上書きし、 fillstroke を指定します。 SVG の既定のサイズは、幅が 300px、高さが 150pxです。

css
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 のビューポートの違いを示しています。

html
<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 を設定します。

css
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 の値であり、この場合はパーセント値を使用します。

css
svg { border: 1px solid black; width: 300px; } circle:first-of-type { r: 30%; fill: lightgreen; stroke: black; } 

どちらの場合も、円の半径は SVG ビューポートの正規化された対角線の 30% です。半径 r0.3×<width>2+<height>22 と同等です。最初の画像は 300150 の CSS ピクセルを使用し、2 番目の画像は 200100 の SVG ビューボックス単位を使用していますが、30% は比例した値です。その結果、r の値は同じになります。 47.43 ビューボックス単位で、71.15 CSS ピクセルに解決されます。

r は同じだが、 2 番目の SVG は 50% 拡大され、中心が 50% 下に、そして右に押されているため、中心点が異なっています。

仕様書

Specification
Scalable Vector Graphics (SVG) 2
# R

ブラウザーの互換性

関連情報