polygonタグ -SVG内で多角形を描画する|HTML辞典
<polygon>タグとは?
<polygon> タグは、SVG(Scalable Vector Graphics)内で多角形を描画するためのタグです。points 属性に一連の座標を指定することで、三角形や五角形、星形などの多角形を作成できます。
基本情報
コンテンツモデル
SVG コンテンツ(SVG Content)。
閉じタグの有無
<polygon> は 自己終了タグ(<polygon />)として使用可能 ですが、明示的に <polygon></polygon> の形式で記述することもできます。
基本的な記述方法
<svg width="200" height="200">
<polygon points="100,10 40,180 190,60 10,60 160,180" fill="blue" stroke="black" stroke-width="2" />
</svg>
✅ 5 つの点を結んだ青い多角形(星形)が描画されます。
使用できる主な属性
| 属性名 | 説明 | 例 |
|---|---|---|
points | 多角形の頂点を指定(X, Y の座標をスペースまたはカンマ区切りで記述) | <polygon points="50,10 90,90 10,90"> |
fill | 塗りつぶしの色 | <polygon fill="red"> |
stroke | 枠線の色 | <polygon stroke="black"> |
stroke-width | 枠線の太さ | <polygon stroke-width="3"> |
枠線付きの三角形を描画する
<svg width="200" height="200">
<polygon points="100,10 50,190 150,190" fill="none" stroke="red" stroke-width="3" />
</svg>
✅ 赤い枠線のみの三角形が描画されます。
CSSを使ったデザイン変更
SVG の要素には CSS を適用できます。
polygon {
fill: orange;
stroke: black;
stroke-width: 3;
}
✅ すべての <polygon> 要素にオレンジ色の塗りが適用され、黒い枠線が追加されます。
適切な使用例
✅ points に複数の座標を指定して多角形を描画する
<svg width="200" height="200">
<polygon points="100,10 40,180 190,60 10,60 160,180" fill="blue" stroke="black" stroke-width="2" />
</svg>
✅ stroke を指定して枠線付きの多角形を作成する
<svg width="200" height="200">
<polygon points="100,10 50,190 150,190" fill="none" stroke="red" stroke-width="3" />
</svg>
✅ 星形を描画する
<svg width="200" height="200">
<polygon points="100,10 120,80 190,80 130,120 150,190 100,140 50,190 70,120 10,80 80,80" fill="gold" stroke="black" stroke-width="2" />
</svg>
✅ 黄色の星形が描画されます。
適切でない使用例(誤った使い方)
❌ points を指定しない(描画されない)
<!-- NG: points 属性を省略 -->
<svg width="200" height="200">
<polygon stroke="black" stroke-width="2" fill="none" />
</svg>
✅ 正しい書き方(points を指定)
<svg width="200" height="200">
<polygon points="50,10 90,90 10,90" stroke="black" stroke-width="2" fill="none" />
</svg>
❌ <polygon> を <svg> の外に記述する
<!-- NG: <svg> の外に <polygon> を記述 -->
<polygon points="10,50 50,100 90,50" stroke="black" />
<svg width="200" height="200"></svg>
✅ 正しい書き方(<svg> 内に記述)
<svg width="200" height="200">
<polygon points="10,50 50,100 90,50" stroke="black" />
</svg>
<polygon>タグと他のタグの違い
| タグ | 役割 | 特徴 | 適切な用途 |
|---|---|---|---|
<polygon> | 多角形を描画 | points 属性で座標を指定 | 星形や三角形の作成 |
<polyline> | 折れ線を描画 | points 属性で座標を指定 | 折れ線グラフや境界線 |
<line> | 直線を描画 | x1、y1、x2、y2 を指定 | 単純な直線の描画 |
<rect> | 長方形を描画 | x、y、width、height を指定 | 四角形のオブジェクト |
<path> | 任意の図形を描画 | d 属性でパスを指定 | 自由な曲線や形状 |
使用上の注意点
✅ <polygon> は <svg> 内で使用する
- HTML の通常の構造では描画できないため、必ず
<svg>の中に記述する。
✅ points を適切に指定する
- 複数の点を指定しないと描画されない。
✅ fill や stroke を活用してデザインを整える
- 色や枠線を適用して、視認性を向上させる。
関連タグ
<svg>– SVG コンテンツを定義<rect>– 長方形を描画<circle>– 円を描画<ellipse>– 楕円を描画<line>– 直線を描画<polyline>– 折れ線を描画<path>– 任意の図形を描画
まとめ
<polygon> タグは、SVG 内で 多角形を描画するためのタグ です。
適切に使用することで、三角形や星形などのさまざまな形を作成できます。
