首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Fontello SVG作为背景图像

使用Fontello SVG作为背景图像
EN

Stack Overflow用户
提问于 2015-04-22 21:05:10
回答 2查看 2.2K关注 0票数 1

我正在使用从丰特洛生成的字体图标(web字体)。下载包包括SVG文件

举例说明。我生成的fontello包只包含一个图标(mail-1),如下所示:

代码语言:javascript
复制
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg">
   <metadata>Copyright (C) 2015 by original authors @ fontello.com</metadata>
   <defs>
      <font id="fontello" horiz-adv-x="1000">
         <font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
         <missing-glyph horiz-adv-x="1000" />
         <glyph glyph-name="mail-1" unicode="&#xe802;" d="m929 11v428q-18-20-39-37-149-114-238-188-28-24-46-38t-48-27-57-13h-2q-26 0-57 13t-48 27-46 38q-88 74-238 188-21 17-39 37v-428q0-8 6-13t12-5h822q7 0 12 5t6 13z m0 586v14t-1 7-1 7-3 5-5 4-8 2h-822q-7 0-12-6t-6-12q0-94 82-159 108-85 224-177 4-2 20-16t25-21 25-18 28-15 24-5h2q11 0 24 5t28 15 25 18 25 21 20 16q116 92 224 177 30 24 56 65t26 73z m71 21v-607q0-37-26-63t-63-27h-822q-36 0-63 27t-26 63v607q0 37 26 63t63 26h822q37 0 63-26t26-63z" horiz-adv-x="1000" />
      </font>
   </defs>
</svg>

由于类似的代码,我需要在CSS中使用这个图标作为背景图像:

代码语言:javascript
复制
.icon {
    background: url('data:image/svg+xml; ... ');
}

...I在https://css-tricks.com/using-svg/上读到了它..。

但是我不知道如何从我的SVG (Fontello)代码生成这个数据:image/SVG+xml代码。当然,我粘贴了这个SVG代码,因为它是在背景:url(‘data:image/svg+xml;.,但是它不工作.帮助!

EN

回答 2

Stack Overflow用户

发布于 2020-03-11 10:53:10

我创建一个svg文件,其中包含一个来自字形的路径,步骤如下。

  • 首先,转到config.json并定位字符。

应该是这样的:

代码语言:javascript
复制
{
      "uid": "91d1768d00bc3e6ee51c2fcea9810679",
      "css": "my-address",
      "code": 57514,
      "src": "custom_icons",
      "selected": true,
      "svg": {
        "path": "M994.5 17.7C988.8 11.8 980 10.1 972.5 13.6L11.3 454.7C3.6 458.3-0.9 466.5 0.2 474.9S7.8 490 16.2 491.4L447.3 563.7 496.6 971.1C497.7 979.6 504.1 986.4 512.6 987.9 513.7 988.1 514.8 988.2 515.8 988.2 523.1 988.2 529.9 984.1 533.2 977.4L998 39.8C1001.6 32.4 1000.2 23.6 994.5 17.7Z",
        "width": 1000
      },
      "search": [
        "myaddress-icon"
      ]
    }
  • 复制其path值并将其插入到svg的路径中(将svg的宽度和高度值设置为配置中的宽度值):
代码语言:javascript
复制
<svg width="1000" height="1000" xmlns="http://www.w3.org/2000/svg">
  <path d="M994.5 17.7C988.8 11.8 980 10.1 972.5 13.6L11.3 454.7C3.6 458.3-0.9 466.5 0.2 474.9S7.8 490 16.2 491.4L447.3 563.7 496.6 971.1C497.7 979.6 504.1 986.4 512.6 987.9 513.7 988.1 514.8 988.2 515.8 988.2 523.1 988.2 529.9 984.1 533.2 977.4L998 39.8C1001.6 32.4 1000.2 23.6 994.5 17.7Z"/>
</svg>

并将其保存为.svg文件。

最后,您可以使用图像编辑器(我使用inkscape)打开它,并将矢量图像调整到viewbox。

你可以用它作为背景。

票数 1
EN

Stack Overflow用户

发布于 2015-04-23 12:31:53

  1. 只需将图像转换为即可。
  2. 删除所有像unicode这样的字形属性。
  3. 将转换和缩放添加到实际显示元素的适当大小。

您可以在path元素上使用图标宽度transform='scale()'的大小。

我选择使用200 as作为其大小(大约)。

然后您就可以在url()中使用它;

代码语言:javascript
复制
.svgback {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><path transform='scale(0.2) translate(0 200)' d='m929 11v428q-18-20-39-37-149-114-238-188-28-24-46-38t-48-27-57-13h-2q-26 0-57 13t-48 27-46 38q-88 74-238 188-21 17-39 37v-428q0-8 6-13t12-5h822q7 0 12 5t6 13z m0 586v14t-1 7-1 7-3 5-5 4-8 2h-822q-7 0-12-6t-6-12q0-94 82-159 108-85 224-177 4-2 20-16t25-21 25-18 28-15 24-5h2q11 0 24 5t28 15 25 18 25 21 20 16q116 92 224 177 30 24 56 65t26 73z m71 21v-607q0-37-26-63t-63-27h-822q-36 0-63 27t-26 63v607q0 37 26 63t63 26h822q37 0 63-26t26-63z'/></svg>");
  width: 200px;
  height: 200px;
}
代码语言:javascript
复制
<div class="svgback"></div>

<!-- Image data -->
<!--svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
  <metadata>Copyright (C) 2015 by original authors @ fontello.com</metadata>
  <path transform='scale(0.2) translate(0 200)' d="m929 11v428q-18-20-39-37-149-114-238-188-28-24-46-38t-48-27-57-13h-2q-26 0-57 13t-48 27-46 38q-88 74-238 188-21 17-39 37v-428q0-8 6-13t12-5h822q7 0 12 5t6 13z m0 586v14t-1 7-1 7-3 5-5 4-8 2h-822q-7 0-12-6t-6-12q0-94 82-159 108-85 224-177 4-2 20-16t25-21 25-18 28-15 24-5h2q11 0 24 5t28 15 25 18 25 21 20 16q116 92 224 177 30 24 56 65t26 73z m71 21v-607q0-37-26-63t-63-27h-822q-36 0-63 27t-26 63v607q0 37 26 63t63 26h822q37 0 63-26t26-63z"
  />
</svg-->

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29808813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档