更改 SVG 背景图像的颜色(Bootstrap 4 轮播)

新手上路,请多包涵

我有一个带有下一个/上一个控件的 BS 4 轮播,到目前为止可以使用。我有一个浅色背景,所以我想更改控件的颜色(当前为白色)。

HTML:

 <div id="carouselQuotes" class="carousel slide quotecaru" data-ride="carousel">
<ol class="carousel-indicators">
    <li data-target="#carouselQuotes" data-slide-to="0" class="active"></li>
    <li data-target="#carouselQuotes" data-slide-to="1"></li>
    <li data-target="#carouselQuotes" data-slide-to="2"></li>
</ol>
<div class="carousel-inner">
    ... carousel items ...
</div>
<a class="carousel-control-prev" href="#carouselQuotes" role="button" data-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselQuotes" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
</a>

更改指标的颜色很容易,因为只需将颜色设置为背景即可。但是为 prev/next 控件设置 background-color 或 color 并没有改变实际控件图标的颜色。

我发现这些图标是通过 background-image SVG 设置的。其中有一部分说明了填充颜色:

 .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
}

我试过了

.carousel-control-prev-icon, .carousel-control-next-icon {
    fill: #000;
}
.carousel-control-prev-icon, .carousel-control-next-icon {
    fill: '#000';
}
.carousel-control-prev-icon, .carousel-control-next-icon {
    fill: '%23000';
}

有没有办法在不覆盖整个背景图像行的情况下更改图标的颜色?

谢谢

原文由 bertcc423 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.8k
1 个回答

对于 bootstrap 5,假设您有默认设置的 svg,您必须这样做

<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300" fill="#00ff00" class="bi bi-check-circle" viewBox="0 0 16 16">
<svg>

将填充更改为 fill="#00ff00" 绿色 fill="#000000" 黑色等。您可以从互联网上读取十六进制代码

原文由 Sadique Khan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题