SVGのviewBoxとは・仕組み

重要な概念

viewBox はSVGで最も重要な属性のひとつです。内部の座標系(描画のどの部分を表示し、どう拡縮するか)を定義します。

構文

viewBox="min-x min-y 幅 高さ"

例:viewBox="0 0 100 100" は、左上を原点とする100x100単位の内部キャンバスを作ります。

viewBox と width/height

viewBox="0 0 100 100"width="300" なら、100単位の描画が300pxに引き伸ばされます:3倍でも鮮明(ベクターだから)。

なぜ拡縮に重要か

viewBoxがあり固定のwidth/heightがなければ、SVGは比率を保ってコンテナに合わせます。これがレスポンシブSVGの基礎です。

preserveAspectRatio

コンテナの比率が異なる場合の合わせ方を制御します:

トリミング・再フレーム

viewBoxを変えると再フレームできます:viewBox="20 20 60 60" はその領域だけを表示(ズーム/トリミング)し、図形自体は変えません。

エディタでは

svgdeskでは、キャンバス作成時に選んだサイズでviewBoxが定義され、コードパネルで確認・調整できます。

エディタを開く

続けて読む