为 bootstrap 个图标使用背景图片 css

Using background image css for bootstrap icons

这是我的 HTML:

<a class="iconContainer" href="#">
  <span class="containerIcon chevron-right"/>
  Test
</a>

这是我的 css:

.chevron-right::before {
  display: inline-block;
  content: "";
  background-image: url("data:image/svg+xml,<svg width='1em' height='1em' viewBox='0 0 16 16' class='bi bi-chevron-right' fill='currentColor' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>");
  background-repeat: no-repeat;
  background-size: 10px 10px;
}

由于某种原因,该图标未显示。这几乎类似于此处 bootstrap 图标文档中显示的示例: https://icons.getbootstrap.com/#usage

有没有人知道我做错了什么?我想我错过了一些非常明显的东西。这是它的 jsFiddle link。 https://jsfiddle.net/w5bvs7n6/8/

编辑:我想这与内容为空有关,但我不知道如果它不是空的它会如何工作。

困难的是你必须使用转换器工具。能够在 CSS 中使用 SVG,例如 URL-encoder for SVG

所以您需要找到 SVG 文件,打开它,将其内容复制到工具中,让奇迹发生,然后您需要复制适合您的代码。

完成该过程后,您就可以开始工作并准备好粘贴代码了。你只需要复制它并使用它。

.header__shape-quote::before {
    font-size: 4rem;
    position: absolute;
    top: -50px;
    left: -60px;
    background-image: url("data:image/svg+xml,%3Csvg width='1em' height='1em' viewBox='0 0 16 16' class='bi bi-chevron-right' fill='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    height: 40px;
    width: 40px;
    background-size: 40px 40px;
    content: "";
}

简单的方法就是按照路径调用它。

.header__shape-quote::before {
    font-size: 4rem;
    position: absolute;
    top: -50px;
    left: -60px;
    /* calling the icon from the folder */
    background-image: url("../images/bootstrap-icons-1.0.0/chevron-right.svg");
    background-repeat: no-repeat;
    height: 40px;
    width: 40px;
    background-size: 40px 40px;
    content: "";
}