pathタグ -SVG内で任意の曲線や複雑な図形を描画する|HTML辞典

<path>タグとは?

<path> タグは、SVG(Scalable Vector Graphics)内で任意の曲線や複雑な図形を描画するためのタグです。
d 属性を使用して、直線・曲線・円弧などを自由に組み合わせたパス(軌跡)を作成できます。

基本情報

コンテンツモデル

SVG コンテンツ(SVG Content)。

閉じタグの有無

<path>自己終了タグ(<path />)として使用可能 です。

基本的な記述方法

<svg width="200" height="200">
<path d="M 10 80 C 40 10, 160 10, 190 80" stroke="black" stroke-width="2" fill="none" />
</svg>

上記のコードでは、M(移動)、C(三次ベジェ曲線)を使って曲線を描画しています。

使用できる主な属性

属性名説明
dパスの座標情報を指定<path d="M10 10 L90 90">
fill塗りつぶしの色<path fill="red">
stroke線の色<path stroke="black">
stroke-width線の太さ<path stroke-width="3">
stroke-dasharray破線の設定<path stroke-dasharray="5,5">

d 属性の主なコマンド

コマンド説明
M x y(x, y) に移動M 10 10
L x y(x, y) に直線を引くL 100 100
H x水平方向の直線を引くH 200
V y垂直方向の直線を引くV 150
C x1 y1, x2 y2, x y三次ベジェ曲線C 20 30, 80 30, 100 100
Q x1 y1, x y二次ベジェ曲線Q 50 10, 90 90
Zパスを閉じるZ

基本的なパスの描画例

直線を描画する

<svg width="200" height="200">
<path d="M 10 10 L 190 190" stroke="black" stroke-width="2" fill="none" />
</svg>

(10,10) から (190,190) までの黒い直線が描画されます。

曲線を描画する

<svg width="200" height="200">
<path d="M 10 80 C 40 10, 160 10, 190 80" stroke="black" stroke-width="2" fill="none" />
</svg>

三次ベジェ曲線で滑らかな曲線を描画しています。

閉じたパス(多角形)を描画する

<svg width="200" height="200">
<path d="M 50 50 L 150 50 L 100 150 Z" stroke="black" stroke-width="2" fill="lightblue" />
</svg>

三角形が描画され、塗りつぶし色(lightblue)が適用されています。

CSSを使ったデザイン変更

SVG の要素には CSS を適用できます。

path {
stroke: blue;
stroke-width: 3;
fill: none;
}

すべての <path> 要素に青色の線が適用されます。

適切な使用例

d を使用して自由な形状を作成する

<svg width="200" height="200">
<path d="M 50 50 C 70 10, 130 10, 150 50 S 230 90, 250 50" stroke="black" stroke-width="2" fill="none" />
</svg>

fill を指定してパスを塗りつぶす

<svg width="200" height="200">
<path d="M 50 50 L 150 50 L 100 150 Z" stroke="black" stroke-width="2" fill="lightblue" />
</svg>

stroke-dasharray を使って破線を作成する

<svg width="200" height="200">
<path d="M 10 10 L 190 190" stroke="blue" stroke-width="3" stroke-dasharray="5,5" fill="none" />
</svg>

適切でない使用例(誤った使い方)

d を指定しない(描画されない)

<!-- NG: d 属性を省略 -->
<svg width="200" height="200">
<path stroke="black" stroke-width="2" fill="none" />
</svg>

正しい書き方(d を指定)

<svg width="200" height="200">
<path d="M 10 10 L 90 90" stroke="black" stroke-width="2" fill="none" />
</svg>

<path><svg> の外に記述する

<!-- NG: <svg> の外に <path> を記述 -->
<path d="M 10 10 L 90 90" stroke="black" />
<svg width="200" height="200"></svg>

正しい書き方(<svg> 内に記述)

<svg width="200" height="200">
<path d="M 10 10 L 90 90" stroke="black" />
</svg>

<path>タグと他のタグの違い

タグ役割特徴適切な用途
<path>任意の図形を描画d 属性で自由な曲線を描画ベクターイラスト、ロゴ作成
<polygon>多角形を描画points 属性で座標を指定三角形や星形の作成
<polyline>折れ線を描画points 属性で座標を指定折れ線グラフや境界線
<line>直線を描画x1y1x2y2 を指定単純な直線の描画
<rect>長方形を描画xywidthheight を指定四角形のオブジェクト

まとめ

<path> タグは、SVG 内で 自由な形状や曲線を描画するためのタグ です。
適切に使用することで、ベクターイラストやカスタムアイコンなど、複雑なデザインを作成できます。