<?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[ freeCodeCamp 是一个免费学习编程的开发者社区，涵盖 Python、HTML、CSS、React、Vue、BootStrap、JSON 教程等，还有活跃的技术论坛和丰富的社区活动，在你学习编程和找工作时为你提供建议和帮助。 ]]>
        </description>
        <link>https://www.freecodecamp.org/chinese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ SVG - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/chinese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Mon, 11 May 2026 04:22:29 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/chinese/news/tag/svg/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ 如何制作 SVG 文件 ]]>
                </title>
                <description>
                    <![CDATA[ 原文：What is an SVG File [https://www.freecodecamp.org/news/what-is-an-svg-file/] ，作者：Kolade Chris [https://www.freecodecamp.org/news/author/kolade/] SVG 意思是可缩放矢量图形。它是一种 web 友好的基于矢量的文件格式，用于在 Internet 上呈现二维图像。 你可以通过扩展名 .svg 来识别 SVG 文件。 与其他流行的图像格式（如 PNG、JPEG 和 JPG）不同——它们以像素的形式存储图像信息，因为它们是基于光栅的格式——SVG 将图形信息存储为一组点和线。 这意味着无论 SVG 文件如何重新加工、缩放或调整大小，它们都不会像 PNG、JPG 和其他光栅图像那样变得模糊和像素化。 本文将向你展示 SVG 图像文件的可能性，以及如何通过编码为自己制作一个 SVG。 文章目录  * 如何制作 SVG 文件 * 如何使用图像编辑程序制作 SVG     * 如何使用 XML ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/what-is-an-svg-file/</link>
                <guid isPermaLink="false">62a2b9f4dbb8cc083a1281f2</guid>
                
                    <category>
                        <![CDATA[ SVG ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp.org ]]>
                </dc:creator>
                <pubDate>Tue, 12 Jul 2022 03:30:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2022/06/svg.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>原文：<a href="https://www.freecodecamp.org/news/what-is-an-svg-file/">What is an SVG File</a>，作者：<a href="https://www.freecodecamp.org/news/author/kolade/">Kolade Chris</a></p><!--kg-card-begin: markdown--><p>SVG 意思是可缩放矢量图形。它是一种 web 友好的基于矢量的文件格式，用于在 Internet 上呈现二维图像。</p>
<p>你可以通过扩展名 .svg 来识别 SVG 文件。</p>
<p>与其他流行的图像格式（如 PNG、JPEG 和 JPG）不同——它们以像素的形式存储图像信息，因为它们是基于光栅的格式——SVG 将图形信息存储为一组点和线。</p>
<p>这意味着无论 SVG 文件如何重新加工、缩放或调整大小，它们都不会像 PNG、JPG 和其他光栅图像那样变得模糊和像素化。</p>
<p>本文将向你展示 SVG 图像文件的可能性，以及如何通过编码为自己制作一个 SVG。</p>
<h2 id="">文章目录</h2>
<ul>
<li><a href="#howtomakeansvgfile">如何制作 SVG 文件</a>
<ul>
<li><a href="#howtomakeansvgwithimageeditingprograms">如何使用图像编辑程序制作 SVG</a></li>
<li><a href="#howtomakeansvgwithxml">如何使用 XML 制作 SVG</a></li>
</ul>
</li>
<li><a href="#whatisansvgfileusedfor">SVG 文件有什么用途</a></li>
<li><a href="#howtoopenansvgfile">如何打开 SVG 文件</a></li>
<li><a href="#howdoiconvertansvgfiletoanimage">如何将 SVG 文件转换为图像</a></li>
<li><a href="#conclusion">小结</a></li>
</ul>
<h2 id="howtomakeansvgfile">如何制作 SVG 文件</h2>
<h3 id="howtomakeansvgwithimageeditingprograms">如何使用图像编辑程序制作 SVG</h3>
<p>你可以使用 Adobe Illustrator、CorelDraw、Adobe Photoshop、Microsoft Visio 和 GIMP 等图像编辑软件制作 SVG 文件。</p>
<p>有了这些程序，当需要绘制 SVG 时，你就可以任意发挥了。</p>
<p>这取决于你对这些程序的了解和经验。</p>
<p>此外，如果使用 Google Docs 创建插图和绘图，可以将它们导出为 SVG。</p>
<h3 id="howtomakeansvgwithxml">如何使用 XML 制作 SVG</h3>
<p>如果你不知道如何使用上面列出的图像编辑程序，但你可以编写代码，则可以使用 XML 编写 SVG。</p>
<p>要编写 SVG 代码，请创建一个<code>.svg</code>扩展名为的文件：<br>
<img src="https://www.freecodecamp.org/news/content/images/2022/06/ss1.png" alt="ss1" width="600" height="400" loading="lazy"></p>
<p><strong>第 1 步</strong>：定义 SVG 的开始和结束标签</p>
<pre><code class="language-xml">&lt;svg&gt;
    &lt;!--  --&gt;
&lt;/svg&gt;
</code></pre>
<p><strong>第 2 步</strong>：在标签内定义版本和 <code>xmlns</code> 属性，分别设置为 <code>1.1</code> 和 <code>"http://www.w3.org/2000/svg"</code>。</p>
<pre><code class="language-xml">&lt;svg version="1.1" xmlns="http://www.w3.org/2000/svg"&gt;
    
&lt;/svg&gt;
</code></pre>
<p><strong>第 3 步</strong>：在自闭合标签中指定要绘制的形状。例如，<code>&lt;rect&gt;</code> 绘制矩形。</p>
<pre><code class="language-xml">&lt;svg version="1.1" xmlns="http://www.w3.org/2000/svg"&gt;
    &lt;rect /&gt;
&lt;/svg&gt;
</code></pre>
<p><strong>第 4 步</strong>：指定你想要设置的宽度和高度。</p>
<pre><code class="language-xml"> width="200" height="100"
</code></pre>
<p><strong>第 5 步</strong>：设置 <code>fill</code> 属性来设置要填充形状的颜色。</p>
<pre><code class="language-xml">fill="#2ecc71"
</code></pre>
<p>代码如下：</p>
<pre><code class="language-xml">&lt;svg version="1.1" xmlns="http://www.w3.org/2000/svg"&gt;
    &lt;rect width="200" height="100" fill="#2ecc71" /&gt;
&lt;/svg&gt;
</code></pre>
<p>最后，这就是显示器中显示的内容：<br>
<img src="https://www.freecodecamp.org/news/content/images/2022/06/ss2.png" alt="ss2" width="600" height="400" loading="lazy"></p>
<p>你还可以使用 <code>rx</code> 和 <code>ry</code> 属性在 <code>x</code> 和 <code>y</code> 轴上定义边界半径：</p>
<pre><code class="language-xml">&lt;svg version="1.1" xmlns="http://www.w3.org/2000/svg"&gt;
    &lt;rect width="200" height="100" fill="#2ecc71" rx="4" ry="4" /&gt;
&lt;/svg&gt;
</code></pre>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/06/ss3.png" alt="ss3" width="600" height="400" loading="lazy"></p>
<p>绘制 SVG 后，你就可以将其用作引入图片时 <code>src</code> 的值：</p>
<pre><code class="language-html">&lt;img src="svgdraw.svg" alt="A rectangle made with SVG" /&gt;
</code></pre>
<p>如果需要，可以将 SVG 直接嵌入到 HTML 代码中：</p>
<pre><code class="language-html">&lt;body&gt;
    &lt;svg version="1.1" xmlns="http://www.w3.org/2000/svg"&gt;
      &lt;rect width="200" height="100" fill="#2ecc71" /&gt;
    &lt;/svg&gt;
&lt;/body&gt;
</code></pre>
<h2 id="howtomakeansvgfile">SVG 文件有什么用途</h2>
<p>因为 SVG 文件始终不变，所以网站图标和徽标通常是用它们制作的。</p>
<p>SVG 的一个显著优势是其中的文本可以被 Google 等搜索引擎读取，因此 SVG 文件用于制作信息图表和插图。</p>
<h2 id="howtoopenansvgfile">如何打开 SVG 文件</h2>
<p>Google Chrome、Edge、Safari 和 Firefox 等现代浏览器具有内置功能，可以使用它们打开 SVG 文件。</p>
<p>你还可以在可用于制作它们的专用编辑软件中打开 SVG 文件。例如 Adobe Illustrator、CorelDraw、Adobe Photoshop、Microsoft Visio 和 GIMP。</p>
<p>如果要编辑 SVG 文件，可以使用 VS Code、Atom 和 Sublime Text 等代码编辑器打开它们，然后进行编辑。</p>
<h2 id="howdoiconvertansvgfiletoanimage">如何将 SVG 文件转换为图像</h2>
<p>如果要将 SVG 转换为其他图像格式，例如 PNG 和 JPG，可以使用 Adobe Photoshop 等图像编辑程序。</p>
<p>你还可以使用名为 <a href="https://convertio.co/svg-png/">Convertio</a> 的在线工具。</p>
<p>你需要做的就是上传你的 SVG，然后选择你想要转换的格式。<br>
<img src="https://www.freecodecamp.org/news/content/images/2022/06/ss4.png" alt="ss4" width="600" height="400" loading="lazy"></p>
<h2 id="conclusion">小结</h2>
<p>你应该使用 SVG 的原因有很多。</p>
<p>所有这些原因中我最喜欢的是搜索引擎可以读取 SVG 文件上的文本。这是因为 SVG 文件是用纯 XML（用于传输数字数据的标记语言）编写的。</p>
<p>如果 Google 和其他搜索引擎在 SVG 文件中找到相关关键字，则可以极大地促进 SEO （搜索引擎优化）。</p>
<p>感谢你阅读本文。</p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 如何在 HTML 和 CSS 中使用 SVG 图像 ]]>
                </title>
                <description>
                    <![CDATA[ 原文：How to Use SVG Images in CSS and HTML – A Tutorial for Beginners [https://www.freecodecamp.org/news/use-svg-images-in-css-html/]，作者：Edidiong Asikpo [https://www.freecodecamp.org/news/author/edidiong/] SVG指可缩放矢量图形，是一种可以使用可扩展标记语言（XML）进行编写的矢量图形。 本教程将解释为什么需要使用SVG图像，以及如何在CSS和HTML中使用它们。 为什么需要使用SVG图像 使用SVG图像的原因有很多，其中一些原因如下所示：  * SVG图像在放大或缩小的时候不会失真。          * SVG图像可以使用IDE和文本编辑器进行创建和编辑。          * SVG图像支持动画和交互。     ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/use-svg-images-in-css-html/</link>
                <guid isPermaLink="false">62296bb1cda7d006365a758a</guid>
                
                    <category>
                        <![CDATA[ SVG ]]>
                    </category>
                
                    <category>
                        <![CDATA[ HTML ]]>
                    </category>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ zhizhan ]]>
                </dc:creator>
                <pubDate>Thu, 10 Mar 2022 03:12:58 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2022/03/Screen-Shot-2020-11-15-at-3.59.07-PM.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>原文：<a href="https://www.freecodecamp.org/news/use-svg-images-in-css-html/">How to Use SVG Images in CSS and HTML – A Tutorial for Beginners</a>，作者：<a href="https://www.freecodecamp.org/news/author/edidiong/">Edidiong Asikpo</a></p><!--kg-card-begin: markdown--><p>SVG指可缩放矢量图形，是一种可以使用可扩展标记语言（XML）进行编写的矢量图形。</p>
<p>本教程将解释为什么需要使用SVG图像，以及如何在CSS和HTML中使用它们。</p>
<h1 id="svg">为什么需要使用SVG图像</h1>
<p>使用SVG图像的原因有很多，其中一些原因如下所示：</p>
<ul>
<li>
<p>SVG图像在放大或缩小的时候不会失真。</p>
</li>
<li>
<p>SVG图像可以使用IDE和文本编辑器进行创建和编辑。</p>
</li>
<li>
<p>SVG图像支持动画和交互。</p>
</li>
<li>
<p>SVG图像文件小并且具有高扩展性。</p>
</li>
<li>
<p>SVG图像可以被搜索、索引、脚本化以及压缩。</p>
</li>
</ul>
<p>现在来看如何使用SVG图像。</p>
<h1 id="svg">如何下载本教程中使用的SVG图像</h1>
<p>如果你想使用本教程中的SVG图像，可以通过以下步骤下载。</p>
<ul>
<li>
<p>访问 <a href="https://undraw.co">unDraw</a>。</p>
</li>
<li>
<p>将背景色改为黄色。</p>
</li>
<li>
<p>在搜索框中搜索关键词<strong>happy</strong>。</p>
</li>
</ul>
<p><img src="https://i.imgur.com/ncSY7Rn.png" alt="unDraw's Homepage" width="600" height="400" loading="lazy"></p>
<ul>
<li>
<p>点击图像名称 <strong>Happy news</strong>。</p>
</li>
<li>
<p>在弹出框中，点击 <strong>Download SVG to your projects</strong> 按钮。</p>
</li>
</ul>
<p><img src="https://i.imgur.com/qGrT73n.png" alt="Download the SVG file" width="600" height="400" loading="lazy"></p>
<p>如果你正确执行了以上步骤，本教程中的SVG图像应该已经在你的电脑中了。</p>
<p><img src="https://i.imgur.com/3uCGy6B.png" alt="3uCGy6B" width="600" height="400" loading="lazy"></p>
<p>现在，使用你喜爱的IDE或者文本编辑器打开这个SVG图像，并将它重命名为<strong>happy.svg</strong>或者任何你喜欢的名字。</p>
<h1 id="csshtmlsvg">如何在CSS和HTML中使用SVG图像</h1>
<p>在CSS和HTML中使用SVG图像有许多不同的方式。接下来，本教程将介绍其中6种方式。</p>
<h2 id="1imgsvg">1. 如何利用<code>&lt;img&gt;</code>元素使用SVG图像</h2>
<p>利用<code>&lt;img&gt;</code>元素将SVG图像添加到网页中是最简单的方式。使用这种方法，需要在HTML文档中添加一个<code>&lt;img&gt;</code>元素，并且在该元素的<code>src</code>属性中指定该SVG图像的引用，代码如下所示：</p>
<pre><code class="language-html">&lt;img src = "happy.svg" alt="My Happy SVG"/&gt;
</code></pre>
<p>如果你已经从unDraw网站上下载了SVG图像并将它重命名为<strong>happy.svg</strong>，你可以继续向下进行并将上面的代码片段添加到你的HTML文档中。</p>
<p>如果每一步都操作正确，你的页面应该同下面demo中所示内容类似。👀</p>
<p>当使用<code>&lt;img&gt;</code>标签添加SVG图像时没有指定大小，浏览器将默认显示原始SVG图像的大小。</p>
<p>例如，上面的demo中，没有修改SVG图像的大小，所以它保持了原始的大小（宽为<code>600.53015px</code>，高为<code>915.11162px</code>）。</p>
<p><strong>注意:</strong> 为了改变原始大小，你需要像以下demo中一样使用CSS指定<code>img</code>的<code>width</code>和<code>height</code>，也可以直接更改原始图像的宽和高。</p>
<p>虽然可以通过<code>&lt;img&gt;</code>标签来改变SVG图像的大小，但是在对SVG图像的主要样式进行修改时，这种方式仍有一些限制。</p>
<h2 id="2cssbackgroundimagesvg">2. 如何在CSS的 <code>background-image</code>属性中使用SVG图像</h2>
<p>这种方式类似于使用<code>&lt;img&gt;</code>标签将SVG图像添加到HTML文档的方式，但是这种方法使用CSS操作代替了对HTML的操作，具体方式如下所示。</p>
<pre><code class="language-css=">body {
  background-image: url(happy.svg);
}
</code></pre>
<p>使用SVG图像作为CSS背景图像与使用<code>&lt;img&gt;</code>标签的方式具有类似的限制。不过，这种方式支持更多自定义操作。</p>
<p>可以查看下面的demo并随意使用CSS对其进行修改。</p>
<h2 id="3svg">3. 如何使用内联SVG图像</h2>
<p>使用<code>&lt;svg&gt; &lt;/svg&gt;</code>标签可以将SVG图像直接写入HTML文档中。</p>
<p>为了实现这种方式，需要使用VS code或者其他IDE打开SVG图像文件并复制其中的代码，然后将其粘贴到你的HTML文档中的<code>&lt;body&gt;</code>元素中，如下所示。</p>
<pre><code class="language-htmlembedded=">&lt;body&gt;
 // Paste the SVG code here.
&lt;/body&gt;
</code></pre>
<p>如果每一步操作都正确，你的页面应该同下面demo中所示内容类似。</p>
<p>在HTML文档中内联使用SVG图像的方式可以减少加载时间，因为只需要进行一次HTTP请求。</p>
<p>并且这种方式相较于使用<code>&lt;img&gt;</code> 或 <code>background-image</code>这两种方式具有更高的自定义性。</p>
<h2 id="4objectsvg">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>使用<code>data</code>属性指定<code>&lt;object&gt;</code>所展示资源的URL，在本例中就是指SVG图像。</p>
<p>然后，使用<code>width</code> 和 <code>height</code>两个属性指定SVG图像的大小。</p>
<p>同样，如果一切正常，你的网页现在应该长这个样子。😃</p>
<p>所有支持SVG的浏览器都支持使用 <code>&lt;object&gt;</code>。</p>
<h2 id="5iframesvg">5. 如何利用<code>&lt;iframe&gt;</code>元素使用SVG图像</h2>
<p>虽然不建议使用这种方式，但是你的确能够使用<code>&lt;iframe&gt;</code>标签来添加一个SVG图像，正如下例所示。</p>
<p>但是要记住，<code>&lt;iframe&gt;</code>元素难以维护而且将不利于你的网站进行SEO优化。</p>
<p>而且，使用<code>&lt;iframe&gt;</code>元素也影响了可缩放矢量图形的可缩放性，因为使用这种方式添加的SVG图像不可以缩放。</p>
<h2 id="6embedsvg">6. 如何利用<code>&lt;embed&gt;</code>元素使用SVG图像</h2>
<p>利用<code>&lt;embed&gt;</code>元素是在HTML和CSS中使用SVG图像的另一种方式，其用法为<code>&lt;embed src="happy.svg" /&gt;</code>。</p>
<p>然后，需要注意的是，这种方式也有其局限性。根据MDN的解释，大多数现代浏览器已经废弃和移除了对浏览器插件的支持。这意味着如果想要支持所有用户的浏览器，使用<code>&lt;embed&gt;</code>方式是不明智的。</p>
<p>下面是一个使用利用<code>&lt;embed&gt;</code>元素使用SVG图像的例子。</p>
<h2 id="">总结</h2>
<p>希望本文可以让你了解在CSS和HTML中使用SVG图像的不同方式，并引导你选择一种合适的方式将SVG图像添加到网站中。</p>
<p>如果你有任何疑问，可以通过<a href="https://twitter.com/Didicodes">Twitter</a>给我发送信息，我很乐意回复每一个问题。</p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
