カテゴリ: HTML 更新日: 2026/08/24

HTML SVGのwidth/height指定とレスポンシブ対応を徹底解説!初心者でもわかる方法

HTML SVGのwidth/height指定とレスポンシブ対応
HTML SVGのwidth/height指定とレスポンシブ対応

先生と生徒の会話形式で理解しよう

生徒

「先生、SVGの画像をHTMLに表示するとき、widthやheightって何のために指定するんですか?」

先生

「SVGはベクター形式の画像で、ピクセルに依存せず自由に拡大縮小できるのです。widthやheightを指定すると表示サイズを決められます。」

生徒

「でも、スマホやタブレットで見るとサイズが崩れることがあります。どうしたらいいですか?」

先生

「その場合はレスポンシブ対応、つまり画面サイズに合わせてSVGのサイズを自動調整する方法を使うと便利です。」

1. SVGのwidthとheightとは?

1. SVGのwidthとheightとは?
1. SVGのwidthとheightとは?

HTMLでSVG画像を表示するとき、widthheightは画像の横幅と高さを指定する属性です。例えば幅を300px、高さを150pxにすると、常にそのサイズで表示されます。


<svg width="300" height="150" xmlns="http://www.w3.org/2000/svg">
    <rect width="300" height="150" fill="skyblue"/>
</svg>
ブラウザ表示

2. widthやheightを指定するときの注意点

2. widthやheightを指定するときの注意点
2. widthやheightを指定するときの注意点

固定サイズにすると、画面が小さいスマホで見ると画像がはみ出すことがあります。逆に大きすぎるとパソコンの画面では小さく見えます。固定サイズは便利ですが、レスポンシブ対応の工夫も必要です。

3. レスポンシブ対応の基本方法

3. レスポンシブ対応の基本方法
3. レスポンシブ対応の基本方法

SVGを画面サイズに合わせて自動で拡大縮小させるには、widthとheightを指定せず、viewBoxを使う方法が一般的です。viewBoxは「SVGの座標空間」を決める属性です。


<svg viewBox="0 0 300 150" xmlns="http://www.w3.org/2000/svg">
    <rect width="300" height="150" fill="lightgreen"/>
</svg>
ブラウザ表示

このようにすると、SVGは親要素の幅に合わせて自動でサイズが変わります。

4. CSSでさらにレスポンシブにする方法

4. CSSでさらにレスポンシブにする方法
4. CSSでさらにレスポンシブにする方法

SVGをより自由に調整したい場合は、CSSで幅を100%に指定すると便利です。高さは自動で比率を保つように設定します。


<svg viewBox="0 0 300 150" style="width:100%; height:auto;" xmlns="http://www.w3.org/2000/svg">
    <rect width="300" height="150" fill="pink"/>
</svg>
ブラウザ表示

こうすることで、スマホでもパソコンでも画像が画面幅に合わせて表示され、見やすくなります。

5. width/heightとviewBoxの組み合わせ例

5. width/heightとviewBoxの組み合わせ例
5. width/heightとviewBoxの組み合わせ例

固定サイズとレスポンシブの両方を組み合わせることもできます。例えば最大幅を300pxに制限しつつ、画面が小さい場合は自動で縮小する設定です。


<svg viewBox="0 0 300 150" style="max-width:300px; width:100%; height:auto;" xmlns="http://www.w3.org/2000/svg">
    <circle cx="150" cy="75" r="70" fill="orange"/>
</svg>
ブラウザ表示

この方法なら、画面が広いパソコンでは最大サイズ、狭いスマホでは自動縮小と、両方のメリットを得られます。

6. SVG画像のアイコン化とレスポンシブ

6. SVG画像のアイコン化とレスポンシブ
6. SVG画像のアイコン化とレスポンシブ

SVGはアイコンとしても便利です。Bootstrapのナビゲーションやボタンに使う場合、レスポンシブ設定で画面サイズに応じて自動縮小できます。


<svg viewBox="0 0 120 120" style="width:50px; height:50px;" xmlns="http://www.w3.org/2000/svg">
    <rect width="120" height="120" fill="purple"/>
</svg>
<svg viewBox="0 0 120 120" style="width:25px; height:25px;" xmlns="http://www.w3.org/2000/svg">
    <rect width="120" height="120" fill="purple"/>
</svg>
ブラウザ表示

このように同じSVGでも、画面や用途に応じてサイズを変えることで、デザインを統一しつつ見やすく配置できます。

7. SVGをHTMLで扱うときのまとめ的ポイント

7. SVGをHTMLで扱うときのまとめ的ポイント
7. SVGをHTMLで扱うときのまとめ的ポイント
  • width/heightは固定サイズを指定するときに使う
  • viewBoxを使うとレスポンシブに対応できる
  • CSSでwidth:100%; height:auto;を指定すると画面幅に合わせて自動調整
  • アイコンや装飾用SVGはサイズを変えつつ統一感を保つことが可能

この基本を押さえておくと、HTMLでSVGを扱うときに、スマホやパソコンなどあらゆる画面サイズに対応できるようになります。

8. SVGの拡張例:複数図形を組み合わせる

8. SVGの拡張例:複数図形を組み合わせる
8. SVGの拡張例:複数図形を組み合わせる

SVGでは複数の図形を組み合わせて、1つの画像として表示することもできます。レスポンシブ設定を組み合わせれば、複雑なアイコンやバナーも自動で画面サイズに合わせられます。


<svg viewBox="0 0 300 150" style="width:100%; height:auto;" xmlns="http://www.w3.org/2000/svg">
    <rect width="300" height="150" fill="lightblue"/>
    <circle cx="150" cy="75" r="50" fill="red"/>
    <text x="150" y="85" font-size="20" text-anchor="middle" fill="white">SVG</text>
</svg>
ブラウザ表示

このようにすると、SVGだけでバナーや簡易ロゴを作成し、どの画面でも見やすく表示可能です。

9. SVGをスマホ・タブレットに最適化するコツ

9. SVGをスマホ・タブレットに最適化するコツ
9. SVGをスマホ・タブレットに最適化するコツ

レスポンシブ対応のSVGは、画面幅に合わせて拡大縮小されますが、文字や細かい図形は小さくなりすぎることがあります。その場合は最小サイズをCSSで指定するか、重要な情報は中央に配置することで、見やすさを確保できます。


<svg viewBox="0 0 300 150" style="width:100%; height:auto; min-width:150px;" xmlns="http://www.w3.org/2000/svg">
    <rect width="300" height="150" fill="yellow"/>
</svg>
ブラウザ表示

これでスマホやタブレットでも見やすく、操作性も確保できます。

2026年最新 スキルアップ・実践セミナー

「意味」がわかればWebは楽しい!現役エンジニアが教える、挫折しないためのHTML構造化入門

「Webの仕組み」を正しく操る。HTML5でプロフェッショナルな情報設計の第一歩を。

本講座では、単なるタグの暗記ではなく、「検索エンジンやAIに正しく伝わる情報の構造化」という本質的な技術を学びます。モダンWebの土台であるHTML5を通じて、将来的にWebデザイナーやフロントエンドエンジニアを目指すための「稼げる基礎力」を最短距離で身につけます。

具体的なワークショップ内容と環境

【つくるもの】
自己紹介やポートフォリオの土台となる「構造化されたWebページ」を作成します。見出し、段落、リスト、リンク、画像配置など、商用サイトでも必ず使われる「セマンティックなマークアップ」をゼロから体験してください。

【開発環境】
世界中のプロが愛用するVisual Studio Code (VS Code)を使用します。Emmet(高速入力機能)の設定から、HTMLの文法ミスを自動チェックする拡張機能まで、現場基準の効率的な環境を一緒に構築します。

この60分で得られる3つの武器

1. SEOに強い「意味のある」マークアップ

Googleから高く評価されるタグの選び方を理解し、検索上位を狙えるサイト構造の作り方を学びます。

2. VS Codeを使いこなす爆速コーディング

プロが使うショートカットや自動補完機能を習得し、タイピングの手間を最小限にする技術を体得します。

3. 2026年基準のWebアクセシビリティ

画像への代替テキストや適切な階層構造など、誰にとっても使いやすい「優しいWeb」の作り方を伝授します。

※本講座は、将来的にWebデザイナー、コーダー、フロントエンドエンジニアを目指す未経験者のためのエントリー講座です。「モクモク」独自のマンツーマン形式により、コードを1行書くたびに生まれる疑問をその場で解決します。

「意味」がわかればWebは楽しい!現役エンジニアが教える、挫折しないためのHTML構造化入門

現役エンジニアが教えるHTML入門

各回少人数・マンツーマン形式で徹底サポート

このセミナーの詳細・お申し込みはこちら
カテゴリの一覧へ
新着記事
New1
CSS
CSSでdisplayの違いを図解で理解!block・inline・inline-blockの使い方
New2
CSS
CSSのwidthとheightの基本!初心者でもわかる単位の使い分け
New3
CSS
z-indexによるバグを防ぐためのデバッグ方法完全ガイド!初心者向け解決テクニック
New4
HTML
HTML data-*属性とJavaScript連携を完全解説!datasetでカスタムデータを取得する方法
人気記事
No.1
Java&Spring記事人気No1
HTML
HTML inputタグとは?フォーム入力を担う基本要素を初心者向けに完全解説
No.2
Java&Spring記事人気No2
HTML
HTML formのaction URL設計を完全解説|送信先の考え方を初心者でも理解
No.3
Java&Spring記事人気No3
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.4
Java&Spring記事人気No4
HTML
HTMLのformタグの書き方を完全ガイド!actionとmethod属性の意味を初心者向けにやさしく解説
No.5
Java&Spring記事人気No5
CSS
レイヤー管理に便利なCSS変数とSCSS変数の活用法完全ガイド!初心者向け解説
No.6
Java&Spring記事人気No6
CSS
CSSのnth-child()を完全攻略!特定の順番にスタイルを当てる方法
No.7
Java&Spring記事人気No7
Bootstrap
Bootstrapで学ぶレスポンシブな並び方向の使い方完全ガイド!flex-rowとflex-columnを初心者向けにやさしく解説
No.8
Java&Spring記事人気No8
Bootstrap
Bootstrapモーダルの基本実装を完全解説!data-bs-toggleとdata-bs-targetで簡単に開閉しよう