<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ SVG - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ エキスパートの手によるプログラミングチュートリアル記事を幅広く掲載。ウェブ開発、データサイエンス、DevOps、セキュリティ、開発者としてのキャリアなどについて学びましょう。 ]]>
        </description>
        <link>https://www.freecodecamp.org/japanese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ SVG - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/japanese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Mon, 25 May 2026 19:54:45 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/japanese/news/tag/svg/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ CSS と HTML で SVG 画像を使用する方法とは – 初心者のためのチュートリアル ]]>
                </title>
                <description>
                    <![CDATA[ SVG は Scalable Vector Graphics の略です。SVG とは、Extensible Markup Language (XML) で書かれた、ベクター画像用の固有の画像形式です。 このチュートリアルでは、SVG 画像を使用する理由と、CSS と HTML で SVG 画像を使用する方法についてお伝えします。 なぜ SVG 画像を使用すべきなのでしょうか？ SVG 画像を使用する理由はたくさんありますが、以下にそのいくつかを挙げてみます:  * SVG 画像は拡大したりサイズを変更しても、画質が低下しません。  * SVG は IDE または テキストエディターで作成し、編集できます。  * SVG は使いやすく、アニメ化しやすいです。  * SVG はファイルサイズが小さく、拡張性が高いです。  * また、SVG は検索したり、インデックスをつけたり、スクリプトで操作したり、圧縮できます。 ではこれから、SVG 画像を扱う方法を実際に見ていきましょう。 このチュートリアルで使用する SVG ]]>
                </description>
                <link>https://www.freecodecamp.org/japanese/news/use-svg-images-in-css-html/</link>
                <guid isPermaLink="false">61e9344c777cd904f8c70421</guid>
                
                    <category>
                        <![CDATA[ SVG ]]>
                    </category>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                    <category>
                        <![CDATA[ HTML ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Manabu Matsumoto ]]>
                </dc:creator>
                <pubDate>Sun, 27 Feb 2022 23:45:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/japanese/news/content/images/2022/01/Screen-Shot-2020-11-15-at-3.59.07-PM.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文:</strong> <a href="https://www.freecodecamp.org/news/use-svg-images-in-css-html/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Use SVG Images in CSS and HTML – A Tutorial for Beginners</a>
      </p><p>SVG は Scalable Vector Graphics の略です。SVG とは、Extensible Markup Language (XML) で書かれた、ベクター画像用の固有の画像形式です。</p><p>このチュートリアルでは、SVG 画像を使用する理由と、CSS と HTML で SVG 画像を使用する方法についてお伝えします。</p><h1 id="-svg-">なぜ SVG 画像を使用すべきなのでしょうか？</h1><p>SVG 画像を使用する理由はたくさんありますが、以下にそのいくつかを挙げてみます:</p><ul><li>SVG 画像は拡大したりサイズを変更しても、画質が低下しません。</li><li>SVG は IDE または テキストエディターで作成し、編集できます。</li><li>SVG は使いやすく、アニメ化しやすいです。</li><li>SVG はファイルサイズが小さく、拡張性が高いです。</li><li>また、SVG は検索したり、インデックスをつけたり、スクリプトで操作したり、圧縮できます。</li></ul><p>ではこれから、SVG 画像を扱う方法を実際に見ていきましょう。</p><h1 id="-svg--1">このチュートリアルで使用する SVG 画像をダウンロードする方法</h1><p><br>このチュートリアルの中で使用した SVG 画像を、自分でも使ってみたい場合は、以下の手順と図に従ってダウンロードしてください。</p><ul><li><a href="https://undraw.co">unDraw</a> を訪れる。</li><li>配色を黄色に変更する。</li><li>検索ボックスで、<strong>happy</strong> という言葉を検索する。</li></ul><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/japanese/news/content/images/2022/01/ncSY7Rn.png" class="kg-image" alt="ncSY7Rn" srcset="https://www.freecodecamp.org/japanese/news/content/images/size/w600/2022/01/ncSY7Rn.png 600w, https://www.freecodecamp.org/japanese/news/content/images/size/w1000/2022/01/ncSY7Rn.png 1000w, https://www.freecodecamp.org/japanese/news/content/images/size/w1600/2022/01/ncSY7Rn.png 1600w, https://www.freecodecamp.org/japanese/news/content/images/2022/01/ncSY7Rn.png 1836w" sizes="(min-width: 720px) 720px" width="1836" height="888" loading="lazy"></figure><ul><li><strong>Happy news</strong> という名前の画像をクリックする。</li><li>ポップアップウィンドウが現れるので、<strong>Download SVG for your projects</strong> ボタンをクリックする。</li></ul><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/japanese/news/content/images/2022/01/qGrT73n.png" class="kg-image" alt="qGrT73n" srcset="https://www.freecodecamp.org/japanese/news/content/images/size/w600/2022/01/qGrT73n.png 600w, https://www.freecodecamp.org/japanese/news/content/images/size/w1000/2022/01/qGrT73n.png 1000w, https://www.freecodecamp.org/japanese/news/content/images/2022/01/qGrT73n.png 1336w" sizes="(min-width: 720px) 720px" width="1336" height="581" loading="lazy"></figure><p>上記の手順が正しく実行されていれば、コンピュータに SVG 画像をダウンロードできているはずです。</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/japanese/news/content/images/2022/01/3uCGy6B.png" class="kg-image" alt="3uCGy6B" srcset="https://www.freecodecamp.org/japanese/news/content/images/size/w600/2022/01/3uCGy6B.png 600w, https://www.freecodecamp.org/japanese/news/content/images/size/w1000/2022/01/3uCGy6B.png 1000w, https://www.freecodecamp.org/japanese/news/content/images/2022/01/3uCGy6B.png 1003w" sizes="(min-width: 720px) 720px" width="1003" height="183" loading="lazy"></figure><p>では、SVG 画像をお気に入りの IDE またはテキストエディターで開いてください。開いた画像の名前を、happy.svg もしくは好きな名前に変更してください。</p><h1 id="css-html-svg-">CSS と HTML で SVG 画像を使用する方法</h1><p>CSS と HTML で SVG 画像を使用するには、いろいろな方法があります。このチュートリアルでは、異なる 6 つの方法を説明します。</p><h2 id="1-img-svg-">1. <code>&lt;img&gt;</code> で SVG を使用する方法</h2><p>これが SVG 画像をウェブページに追加する、最も簡単な方法です。次のようにして、<code>&lt;img&gt;</code> 要素をHTML ドキュメントに追加し、src 属性の中で SVG 画像を参照します:</p><pre><code class="language-html">&lt;img src ="happy.svg" alt="My Happy SVG"/&gt;
</code></pre><p>unDraw から SVG 画像をダウンロードし、ファイル名を happy.svg に変更してあれば、上のコードスニペットを HTML ドキュメントの中に追加できます。</p><p>もしすべてが正しく行われていれば、ウェブサイトはちょうど以下のデモのように見えるはずです。👀</p><figure class="kg-card kg-embed-card"><iframe width="1000" height="500" src="https://codesandbox.io/embed/svg-demo-mppxs?fontsize=14&amp;hidenavigation=1&amp;theme=dark" style="width:1000px; height:500px; border:0; border-radius: 4px; overflow:hidden;" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin" title="埋め込みコンテンツ" loading="lazy"></iframe></figure><p>サイズを指定せずに <code>&lt;img&gt;</code> タグを使用して SVG 画像を追加すると、その画像は元の SVG ファイルのサイズであると見なされます。</p><p>たとえば、上のデモにおいて、SVG 画像はサイズを変更していないので、その画像の元のサイズ (幅が <code>915.11162 ピクセル</code> で、高さが <code>600.53015 ピクセル</code>) と見なされます。</p><p><strong>注</strong>: 表示する画像のサイズを変更するには、 下のデモの中で確認できるように、CSS で <code>width</code> と <code>height</code> を指定する必要があります。または、元の画像の <code>width</code> と <code>height</code> を直接更新できます。</p><figure class="kg-card kg-embed-card"><iframe width="1000" height="500" src="https://codesandbox.io/embed/svg-demo-1-ey5me?fontsize=14&amp;hidenavigation=1&amp;theme=dark" style="width:1000px; height:500px; border:0; border-radius: 4px; overflow:hidden;" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin" title="埋め込みコンテンツ" loading="lazy"></iframe></figure><p><code>&lt;img&gt;</code> タグによって追加された SVG 画像のサイズを変更できるとはいえ、SVG 画像に大幅なスタイルの変更を加えようとする場合に、まだいくらかの制限があります。</p><h2 id="2-css-background-image-svg-">2. CSS の <code>background-image</code> で SVG を使用する方法</h2><p>この方法は、<code>&lt;img&gt;</code> タグを用いて SVG を HTML ドキュメントに追加することに似ています。しかし今回は、以下に示されたコードスニペットを用いて、HTML の代わりに CSS でそれを行います。</p><pre><code class="language-css">body {
  background-image: url(happy.svg);
}
</code></pre><p>SVG を CSS の 背景画像 (background image) で使用する場合、<code>&lt;img&gt;</code> タグを使用する時と似たような制限があります。ただ、もう少しカスタマイズできます。</p><p>以下のデモを確認して、CSS を用いて自由に変更を加えてみてください。</p><figure class="kg-card kg-embed-card"><iframe width="1000" height="500" src="https://codesandbox.io/embed/svg-demo-2-ftn6n?fontsize=14&amp;hidenavigation=1&amp;theme=dark" style="width:1000px; height:500px; border:0; border-radius: 4px; overflow:hidden;" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin" title="埋め込みコンテンツ" loading="lazy"></iframe></figure><h2 id="3-svg-">3. インラインで SVG 画像を使用する方法</h2><p><code>&lt;svg&gt; &lt;/svg&gt;</code> タグを使用すれば、HTML ドキュメントの中へ SVG 画像をインラインで直接記述できます。</p><p>そうするには、VS code またはお好みの IDE の中で SVG 画像を開き、画像のコードをコピーして、HTML ドキュメントの <code>&lt;body&gt;</code> 要素の内側に貼り付けます。</p><pre><code>&lt;body&gt;
 // Paste the SVG code here.
&lt;/body&gt;
</code></pre><p>もしすべてが正しく行われたとしたら、ウェブサイトはちょうど以下のデモのように見えるはずです。</p><figure class="kg-card kg-embed-card"><iframe width="1000" height="500" src="https://codesandbox.io/embed/svg-demo-3-zunkd?fontsize=14&amp;hidenavigation=1&amp;theme=dark" style="width:1000px; height:500px; border:0; border-radius: 4px; overflow:hidden;" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin" title="埋め込みコンテンツ" loading="lazy"></iframe></figure><p>HTML ドキュメントの中で SVG をインラインで使用する場合は、HTTP リクエストが 1 回で完結するので、ロード時間が減ります。</p><p><code>&lt;img&gt;</code> または <code>background-image</code> 方式のどちらか一方を用いることとは対照的に、この方法を用いることでより多くのカスタマイズができます。</p><h2 id="4-object-svg-">4. <code>&lt;object&gt;</code> で SVG を使用する方法</h2><p>以下の構文のコードを使用すれば、HTML の <code>&lt;object&gt;</code> 要素でもウェブページに SVG 画像を追加できます:</p><pre><code>&lt;object data="happy.svg" width="300" height="300"&gt; &lt;/object&gt;
</code></pre><p>object 要素によって用いられるリソースの URL を、<code>data</code> 属性を用いて指定します。この場合では SVG 画像を指定しています。</p><p><code>width</code> と <code>height</code> 属性を使用して、SVG 画像のサイズを指定します。</p><p>繰り返しになってしまいますが、以下のデモをご覧ください。 😃</p><figure class="kg-card kg-embed-card"><iframe width="1000" height="500" src="https://codesandbox.io/embed/svg-demo-4-3ge0n?fontsize=14&amp;hidenavigation=1&amp;theme=dark" style="width:1000px; height:500px; border:0; border-radius: 4px; overflow:hidden;" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin" title="埋め込みコンテンツ" loading="lazy"></iframe></figure><p><code>&lt;object&gt;</code> の使用は、SVG をサポートしているすべてのブラウザーでサポートされています。</p><h2 id="5-iframe-svg-">5. <code>&lt;iframe&gt;</code> でSVG を使用する方法</h2><p>この方法はお勧めしませんが、以下のデモで示すように、<code>&lt;iframe&gt;</code> を使用することでも SVG 画像を追加できます。</p><figure class="kg-card kg-embed-card"><iframe width="1000" height="500" src="https://codesandbox.io/embed/svg-demo-5-co3hg?fontsize=14&amp;hidenavigation=1&amp;theme=dark" style="width:1000px; height:500px; border:0; border-radius: 4px; overflow:hidden;" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin" title="埋め込みコンテンツ" loading="lazy"></iframe></figure><p>ただし、<code>&lt;iframe&gt;</code> を管理するのは難しく、サイトの検索エンジン最適化 (SEO) に、悪影響を与える可能性があることを忘れないようにしてください。</p><p>また、<code>&lt;iframe&gt;</code> を使用して追加された SVG 画像は拡張性を失い、<em>Scalable Vector Graphics</em> という名前の中の、<em>Scalable</em> (拡張性がある) という性質をくつがえしてしまします。</p><h2 id="6-embed-svg-">6. <code>&lt;embed&gt;</code> で SVG を使用する方法</h2><p>HTML の <code>&lt;embed&gt;</code> 要素は、SVG 画像を HTML と CSS で使用する、これまでとは別の方法であり、次の構文を使用します: <code>&lt;embed src="happy.svg" /&gt;</code></p><p>しかし、この方法にも制限があることを忘れないでください。MDN によると、ほとんどのモダンなブラウザーは、プラグインに対するサポートを非推奨にして削除しています。これは、普通のユーザーのブラウザー上で、ご自身のサイトを操作できるようにしたい場合は、<code>&lt;embed&gt;</code> に依存することは一般的に賢明ではないことを意味しています。</p><p>以下のデモで、HTML の <code>&lt;embed&gt;</code> 要素を使用して SVG 画像を追加しています。</p><figure class="kg-card kg-embed-card"><iframe width="1000" height="500" src="https://codesandbox.io/embed/svg-demo-6-iwy0s?fontsize=14&amp;hidenavigation=1&amp;theme=dark" style="width:1000px; height:500px; border:0; border-radius: 4px; overflow:hidden;" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin" title="埋め込みコンテンツ" loading="lazy"></iframe></figure><h2 id="-">結論</h2><p>CSS と HTML で SVG 画像を使用する、さまざまな方法について学ぶことができたと思います。このことが、SVG 画像をウェブサイトへ追加する際に、適切な方法を選ぶことができるように、うまく案内してくれます。</p><p>ご質問がございましたら、<a href="https://twitter.com/Didicodes">Twitter のメッセージ</a>でご連絡くだされば、どんな小さなご質問も喜んで解答いたします。</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
