问题描述
这是我的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;
}
由于某种原因未显示该图标。这几乎与文档中有关引导图标的示例类似: https://icons.getbootstrap.com/#usage
有人对我在做什么错有任何见解吗?我想我遗漏了非常明显的东西。这是它的jsfiddle链接。 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: "";
}