第7章: ジオメトリプロパティ

SVGのスタイリングプロパティに加えて、SVGはジオメトリプロパティも定義しています。ジオメトリプロパティは、グラフィックス要素circleellipserectimageforeignObject そして svg要素の位置や寸法を記述します。

7.1. 水平方向の中心座標: ‘cx’ プロパティ

名前: cx
値: <length-percentage>
初期値: 0
適用対象: circle および ellipse
継承: no
パーセンテージ: 現在のSVGビューポートのサイズを参照(単位参照)
メディア: 視覚
算出値: 絶対長さまたはパーセンテージ
アニメーション可能: はい

cxプロパティは要素の位置の水平方向の中心座標を記述します。

7.2. 垂直方向の中心座標: ‘cy’ プロパティ

名前: cy
値: <length-percentage>
初期値: 0
適用対象: circle および ellipse
継承: no
パーセンテージ: 現在のSVGビューポートのサイズを参照(単位参照)
メディア: 視覚
算出値: 絶対長さまたはパーセンテージ
アニメーション可能: はい

cyプロパティは要素の位置の垂直方向の中心座標を記述します。

7.3. 半径: ‘r’ プロパティ

名前: r
値: <length-percentage>
初期値: 0
適用対象: circle
継承: no
パーセンテージ: 現在のSVGビューポートのサイズを参照(単位参照)
メディア: 視覚
算出値: 絶対長さまたはパーセンテージ
アニメーション可能: はい

rプロパティはcircle 要素の半径を記述します。

rプロパティが負の値の場合、不正な値として扱われます。

7.4. 水平方向の半径: ‘rx’ プロパティ

名前: rx
値: <length-percentage> | auto
初期値: auto
適用対象: ellipserect
継承: no
パーセンテージ: 現在のSVGビューポートのサイズを参照(単位参照)
メディア: 視覚
算出値: 絶対長さまたはパーセンテージ
アニメーション可能: はい

rxプロパティはellipse要素の水平方向の半径と、rect要素の曲線半径を記述します。 ‘rx’の算出値がautoの場合、実際の半径はryで使用される絶対長さと等しくなり、円弧を作成します。 ‘rx’と‘ry’のどちらも算出値がautoの場合、実際の値は0になります。

値の計算方法に関わらず、rectの‘rx’の使用値は、その形状のwidthの使用値の50%を超えません。

autoの挙動はSVG 2で新たに追加されたもので、ellipseにおいて、rectrxが指定されなかった場合の挙動と一致します。

rxプロパティが負の値の場合、不正な値として扱われます。

7.5. 垂直方向の半径: ‘ry’ プロパティ

名前: ry
値: <length-percentage> | auto
初期値: auto
適用対象: ellipserect
継承: no
パーセンテージ: 現在のSVGビューポートのサイズを参照(単位参照)
メディア: 視覚
算出値: 絶対長さまたはパーセンテージ
アニメーション可能: はい

ryプロパティはellipse要素の垂直方向の半径と、rect要素の垂直方向の曲線半径を記述します。 ‘ry’の算出値がautoの場合、実際の半径はrxで使用される絶対長さと等しくなり、円弧を作成します。 ‘rx’と‘ry’のどちらも算出値がautoの場合、実際の値は0になります。

値の計算方法に関わらず、rectの‘ry’の使用値は、その形状のheightの使用値の50%を超えません。

autoの挙動はSVG 2で新たに追加されたもので、ellipseにおいて、rectryが指定されなかった場合の挙動と一致します。

ryプロパティが負の値の場合、不正な値として扱われます。

7.6. 水平方向の座標: ‘x’ プロパティ

名前: x
値: <length-percentage>
初期値: 0
適用対象: svgrectimageforeignObject
継承: no
パーセンテージ: 現在のSVGビューポートのサイズを参照(単位参照)
メディア: 視覚
算出値: 絶対長さまたはパーセンテージ
アニメーション可能: はい

xプロパティは要素の位置の水平方向の座標を記述します。

7.7. 垂直方向の座標: ‘y’ プロパティ

名前: y
値: <length-percentage>
初期値: 0
適用対象: svgrectimageforeignObject
継承: no
パーセンテージ: 現在のSVGビューポートのサイズを参照(単位参照)
メディア: 視覚
算出値: 絶対長さまたはパーセンテージ
アニメーション可能: はい

yプロパティは要素の位置の垂直方向の座標を記述します。

7.8. サイズ指定プロパティ: ‘width’ および ‘height’ プロパティの効果

CSS 2.1仕様のwidthおよびheightの定義を参照してください。

CSSのwidthおよびheightプロパティは、 一部のSVG要素のサイズ指定に使用されます。具体的には、rectsvgimageforeignObjectのサイズ指定に使われます。 これらすべての要素は‘width’および‘height’のプレゼンテーション属性を持ちます。 また、HTML名前空間から埋め込まれた要素のレイアウトにも使用されます。

widthの使用値は、 max-widthmin-widthプロパティの値により制約されることがあります。 heightの使用値も、 max-heightmin-heightプロパティの値により制約されることがあります。

auto値がsvg要素のwidthおよびheightに指定された場合は100%として扱われます。

auto値がimage要素のwidthおよびheightに指定された場合は、参照画像の本来の寸法やアスペクト比からCSSのデフォルトサイズアルゴリズムに従って計算されます。

SVG 2で新規追加。SVGで埋め込まれる画像は本来のサイズで自動サイズ化したり、固定の高さや幅にアスペクト比でスケーリングできるようになりました。これはHTMLで埋め込む画像の動作と一致します。

auto値が他の要素のwidthおよびheightに指定された場合は0として扱われます。

つまり、例えばforeignObject オブジェクト要素では、autoを使うと中身に合わせてサイズが縮まることはありません。