Html 移动到SVG图标-如何将它们与代码分开?
SVG图标比字体图标有一些优势:它们可以缩放以适应可变大小的容器元素,并且理论上可以更改各个路径的颜色。我也喜欢在Inkscape:P中轻松制作它们 但是,如何在CSS文件中移动SVG,以便它们可以在同一页面上重复使用(如图标字体),并且仍然可以从这些优势中获益 background属性支持SVG,带有Html 移动到SVG图标-如何将它们与代码分开?,html,css,svg,icons,Html,Css,Svg,Icons,SVG图标比字体图标有一些优势:它们可以缩放以适应可变大小的容器元素,并且理论上可以更改各个路径的颜色。我也喜欢在Inkscape:P中轻松制作它们 但是,如何在CSS文件中移动SVG,以便它们可以在同一页面上重复使用(如图标字体),并且仍然可以从这些优势中获益 background属性支持SVG,带有background:url(#SVG_元素),但这意味着我必须将SVG放在HTML中:| 如果我将其作为“数据”字符串,那么如何更改同一css文件中的路径颜色?要进行深入讨论,请查看谁对SVG做
background:url(#SVG_元素)
,但这意味着我必须将SVG放在HTML中:|
如果我将其作为“数据”字符串,那么如何更改同一css文件中的路径颜色?要进行深入讨论,请查看谁对SVG做了大量工作。A可能还有很多信息需要你消化
还有一些非常有用的东西要说。我以前使用过SVG,但没有专门使用SVG图标。然而,根据我所掌握的知识和环顾四周的情况,以下是我得出的结论(在这种情况下,我可能没有完全理解您的问题,请发布更多问题) 但是如何在CSS文件中移动SVG,以便在同一页面上重用它们呢 但这意味着我必须将SVG放在HTML中 SVG基本上是XML,所以不清楚为什么不喜欢将SVG放在HTML文件中。若你们把SVG放在HTML文件中,你们可以只使用外部或内部CSS来设置SVG的样式。这里有一个简单的方法 在HTML文件中:
<circle cx="100" cy="100" r="75" />
在CSS文件中:(在HTML文件中包含CSS文件)
圈{
填充:深粉色;
过渡:填充。3秒放松;
}
圆圈:悬停{
填写:#009966;
}
这里是许多其他选项的第二个选项,使用
标记。下面是一个示例,说明如何使用
标记从单独的文件中使用SVG。这是它的附带说明。还要注意,它使用jQuery插件
这里有一些其他方法可以防止SVG进入HTML,以及它们的优点
希望这对您有所帮助。如果您使用SVG作为背景图像,则无法更改路径和填充颜色(AFAIK)。但是,您可以使用白色SVG和背景色来创建Metro图标。这正是我们要做的
。图标{
显示:内联块;
宽度:80px;
高度:80px;
背景大小:80%;
背景位置:中心;
背景重复:无重复;
}
.icon-1{
背景图片:url("(3%3%2%22%20%20%22%20%http%22%22%22%http%3%3%3%3%3%3%3%3%10%3%10%10%22%22%22%10%10%10%10%3%1%1%2%2%3%3%3%3%3%3%3%3%3%3%3%3%2%3%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2fslink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enabled背景%3Anew%200%2014%3B%22%20xml%3space%3D%3D%22%22%22%22%22%3E%2214px%233b%233b%3B%3B%3c多边形填充点C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E”);
}
.icon-bg-1{
背景色:#800080;
}
.icon-bg-2{
背景色:#DB7093;
}
.icon-bg-3{
背景色:#CD853F;
}
.icon-bg-4{
背景色:#B0E0E6;
}
但是,如何在CSS文件中移动SVG,以便它们可以在同一页面上重复使用(如图标字体),并且仍然可以从这些优势中获益
使用svg模板
.circle-first {
fill: #12bb34;
}
让我们创建一个svg模板
模板(html)
这可以在页面上的任何位置重复使用
如何更改同一css文件中的路径颜色
简单,只是风格
css
.circle-first {
fill: #12bb34;
}
工作示例?
给你:
浏览器支持?不是100%确定,但在所有大型浏览器中都支持svg:
似乎您想从html
代码
为了满足这一要求,可以使用两种方案将svg
文件嵌入html
:
元素,因此xml
将
从html
==>中分离出来的结果视图将是
html
和xml
的组合,可以使用css
(可能是范围
的一个,例如使用
在目标页面)
元素,因此xml
将被分隔
从html
==>生成的视图将仅为html
和css
无法对svg
文件的xml
内容执行svg
的方法是使用内联技术,比如说,使用
标记,这样您也可以使用内联样式表来实现这一点,但是您希望将xml
与html
分离开来:)
有关更多信息:
而且。为了保留SVG图标的细节,目前除了在HTML页面中包含
之外,别无选择
描述了普遍接受的最佳包含实践。它类似于:
:
<svg class='icon'>
<use xlink:href='#icon-puppy'/>
</svg>
描述如何在HTML中动态包含SVG文件。您还可以深入了解项目。您将找到一些使用SVG的简洁方法 他们最好的想法是将所有图标合并到一个文件“sprite.svg”中。每个svg图标都需要由一个带有id的
标记包围。然后,您可以随时通过xlink访问它,如其他答案中所述
通过加载整个sprite.svg,您将获得加载时间和整洁度。您还可以
.circle-first {
fill: #12bb34;
}
<svg id='my-icons'>
<symbol id='icon-puppy'> <!-- puppy icon goes here --> </symbol>
<symbol id='icon-kitty'> <!-- kitty icon goes here --> </symbol>
</svg>
<svg class='icon'>
<use xlink:href='#icon-puppy'/>
</svg>