HTML5 SVGで楕円を重ねて描画する方法をわかりやすく解説
SVG(Scalable Vector Graphics)は、XML形式で2Dグラフィックスやグラフィカルアプリケーションを記述するための言語です。記述されたXMLはSVGビューアによって描画され、PNG、GIF、JPGなどの画像形式と同様に、ほとんどのWebブラウザで表示できます。
HTML SVGで楕円を描画するには、SVGの<ellipse>要素を使用します。複数の楕円を重ねて描画したい場合は、各楕円の中心座標(cx属性・cy属性)を適切に設定することがポイントです。

ellipse要素の主な属性
<ellipse>要素では、次の属性を使って楕円の位置や形状を指定します。
- cx … 楕円の中心のX座標
- cy … 楕円の中心のY座標
- rx … 水平方向(X軸)の半径
- ry … 垂直方向(Y軸)の半径
サンプルコード
以下のコードを実行すると、HTML5 SVGで2つの楕円を重ねて描画する方法を確認できます。
<!DOCTYPE html>
<html>
<head>
<style>
#svgelem {
position: relative;
left: 20%;
-webkit-transform: translateX(-20%);
-ms-transform: translateX(-20%);
transform: translateX(-20%);
}
</style>
<title>HTML5 SVG Ellipse</title>
</head>
<body>
<h2>HTML5 SVG Ellipse</h2>
<svg id="svgelem" width="500" height="200" xmlns="https://www.w3.org/2000/svg">
<ellipse cx="240" cy="100" rx="220" ry="30" style="fill:green" />
<ellipse cx="220" cy="70" rx="190" ry="20" style="fill:yellow" />
</svg>
</body>
</html>実行結果

このコードでは、緑色の大きな楕円の上に、黄色い楕円が少し上にずらして重ねて描画されます。SVGでは、コード内で先に記述した要素が下層に、後に記述した要素が上層に描画されるため、記述順序によって重なり方が変わる点に注意してください。
-
SVGで中空の円(輪郭のみの円)を描く方法を解説
SVGで中空の円(塗りつぶしなしの輪郭だけの円)を描くには、<circle>要素を使用します。ポイントは、fill=noneを指定して内側を透明にし、stroke属性で輪郭線を描画することです。SVGとは?SVG(Scalable Vector Graphics)は、XMLを使って2Dグラフィックスやグラフィカルアプリケーションを記述するための言語です。記述されたXMLはSVGビューアによってレンダリングされます。現在の主要なWebブラウザのほとんどは、PNG・GIF・JPGなどの画像形式と同じようにSVGを表示できます。サンプルコード以下のコードを実行すると、SVGで中空の円を描
-
HTML5でSVG画像を使用する方法|img・object・embedタグの使い分けを解説
HTML5でSVG画像を表示する基本 HTML5でSVG(Scalable Vector Graphics)画像を利用するには、<img>要素または<svg>要素を使用します。SVGファイルをWebページに組み込む方法は主に3つあり、それぞれ特徴が異なるため、用途に応じて適切なものを選択することが重要です。 SVGを読み込む3つの方法 <img>タグ:最もシンプルな方法。JPEGやPNGなどの通常の画像と同じ感覚で扱えます。 <object>タグ:外部リソースとしてSVGを読み込みます。フォールバックコンテンツを指定できるのが特徴です。 &l