主要:
- viewBox 属性は、SVGのビューポートという用語と密接に関連しています。
略語:
- ビューボックス - VB
- ビューポート - VP
- ビューポート座標系 - VCS
- ローカル座標系 - LCS
構文:
<svg x = "VP_min_X" y = "VP_min_Y" width = "VP_width" height = "VP_height"
viewBox = "VB_min_X VB_min_Y VB_width VB_height">
デフォルト値:
- 単位 = ピクセル
- ビューポート幅 = 300
- ビューポート幅 = 150
- viewBox = ビューポート
デフォルト値を持つコード
<svg>
同じ結果のコード:
<svg x = "0" y = "0" width = "300" height = "150" viewBox = "0 0 300 150">
ビューポート設定:
ビューポート座標系 (VCS) の原点:
最も外側のビューポートの場合、これらの値は重要ではなく、いずれの場合も 0 に等しいため、通常は省略されます。
<svg width = "100" height = "150">
同じ結果のコード: (最も外側のビューポートの場合):
<svg x = "10" y = 20 "width ="100 "height ="150">
ネストされたビューポート:
ネストされたビューポート (VP_min_X、VP_min_Y) で、VCS の原点からのインデントを定義します。
<svg width="100%" height="100%"> <!-- external viewport = full browser size -->
<svg x="50" y="100" width="200" height="300" viewBox="0 0 100 100">
</svg>
</svg>
この場合、ネストされたビューポートのインデント:
外部 VCS の原点から X 軸に沿って 50 ピクセル、Y 軸に沿って 100 ピクセル。
SVG グラフィックスが描画される長方形領域 (ビューポート) の寸法が決定されます。
ビューボックスの設定:
ローカル座標系 (LCS) の原点:
SVG 画像の可視部分のサイズ:
RENDERING:
最終的な SVG イメージを構築するとき、座標系は COMBINING によって変換され
ます: 座標系の原点:
- VCS (VP_min_X、VP_min_Y)
- LCS (VB_min_X、VB_min_Y)
可視画像領域の終点:
- VCS (VP_幅、VP_高さ)
- LCS (VB_幅、VB_高さ)
機能:
その結果、以下を制御できるようになります。
- ブラウザ ウィンドウ内のビューポートの位置 [ネストされたビューポートを使用して (VP_min_X, VP_min_Y) を変更]
- ビューポート サイズ (VP_width、VP_height)
- 画像の可視部分をパン [viewBox を使用して (VB_min_X, VB_min_Y) を変更]
- 画像の表示部分のスケーリング [viewBox を使用して (VB_width, VB_height) を変更]
視覚化: 上記の原則を理解するために YouTube で 2 分間: SVGの
ビデオ viewBox
ドキュメント:
W3C 2019 SVG 2 仕様