当前位置: 首页 > 知识库问答 >
问题:

如何使用CSS填充SVG[重复]

邢同
2023-03-14

我目前正在尝试将网站上使用的徽标应用于打印页面上的某个位置。这样做,我想以不同的方式填充它。然而,填充效果似乎不起作用。

当我在单独的选项卡中查看logo.svg并检查它时,我可以成功地用新颜色填充它的两个组件中的每一个。

但是,当我将它作为背景图像带入打印页面上的DIV时,填充不再起作用。有人能告诉我这是什么原因吗?

<div class="print-logo">
</div>

.print-logo {
  background: url(../img/logo.svg);
  background-size: contain;
  background-repeat: no-repeat;
  height: 180px;
  width: 200px;
  background-position: center center;
  margin: auto;
  fill: black; 
}

在SVG页面上,我可以成功地完成以下操作。

.fil0 {
    fill: green;
}

.fil1 {
    fill: red;
}

(正如我前面提到的,SVG似乎由两个路径和类组成)。

共有2个答案

顾高扬
2023-03-14

一旦从文档范围中删除了SVG,它就不再受CSS属性的影响。

实现这一点的一种方法是使用位置:绝对z-index重叠元素,以在文档范围内对元素进行分层。

於鸿羲
2023-03-14

当SVG是背景图片时,不能对其使用填充。您可以执行类似背景色的操作:黑色 。这将填充您徽标中的所有透明内容。

一些hacky变通方法是在您的徽标中使透明只是您想要更改颜色的东西(背景的其余部分不应是透明的)并使用backder-Color: Black;为透明部分着色。

 类似资料:
  • 当我悬停的时候,我怎样才能填充这个svg?我看了大量的文档,尝试了几种方法,但都没有成功。 这是我的网页: 我在css中尝试了以下内容 以及 甚至 我做错了什么?我应该能够用css完成这项任务,对吗? 编辑:请注意,此图像正被用作背景图像。下面的css中有更多细节: 编辑2:这是. svg代码,但不确定它是否重要

  • 我有一个嵌入在“img src”标记内的SVG图像。svg 包含带有颜色的不同路径,每个路径由 id 分隔。我想使用 jquery 更改每个 id 中的填充颜色 下面是我使用过的代码。但是颜色没有变化。通过大量搜索,我发现如果svg直接添加到html中,它就可以工作。一个工作示例:http://jsfiddle.net/P6t2B/ 但是如果是通过“img src”添加svg,我该如何实现呢??

  • 如何设置内联/背景 SVG 的填充颜色(使用 CSS)?

  • CSS padding(填充)是一个简写属性,定义元素边框与元素内容之间的空间,即上下左右的内边距。 padding(填充) 当元素的 padding(填充)内边距被清除时,所释放的区域将会受到元素背景颜色的填充。 单独使用 padding 属性可以改变上下左右的填充。 更多实例 在一个声明中的所有填充属性 这个例子演示了使用简写属性设置在一个声明中的所有填充属性,可以有一到四个值。 设置左部填充

  • 我维护了一个用flash编写的绘图工具,该工具将其数据保存为荧光笔工具的一系列点,这些点描述了一条粗大的、填充的徒手/点对点线的轮廓。例如,如果用户画了一条水平线,路径将是从左到右的点序列,然后是向下10像素的线,相同的点序列反向回到原点下方10px,那么路径就关闭了 另一个工具通过将json点列表转换为svg路径来周期性地光栅化Flash的数据。路径命令类似于“M 123,456l 1,2 3,

  • 我有一个箭头头的路径,我想做一个颜色过渡动画,从左到右。 我已经为线和箭头做了这件事,但它似乎不是同步的。我希望线和箭头都过渡颜色无缝。 CSS