css - 在 CSS 伪元素中引用内联 SVG?

标签 css svg

这是一个远景......我希望在每个 h3 元素之前出现一个 svg 形状,但是它会随着它出现的 div 类改变颜色。我知道我不能通过通过“content”属性引用一个单独的 svg 文件。

有没有办法通过内容属性或其他方式引用内联 svg 来做到这一点?!由于网站上的实际文本将由不会使用 html 的用户编写,我不能简单地在每个 h3 元素之前对其进行硬编码...

谢谢!

最佳答案

很遗憾,这是不可能的。您需要访问 svg 的 strokefill 属性才能更改颜色。添加到伪元素的 content 属性的图像(例如 content: url(my.svg)generated content,因此应该只被视为平面图像。只有作为伪元素的 'box' 可以通过 css 进行修改。

理想情况下,您会将 svg 内联注入(inject)到 DOM 中。但是,您仍然需要编辑 h3 文本的 color 属性以及 strokefill svg 的属性也是如此。正如 Paulie_D 在他的评论中提到的,图标字体可以解决这个问题并从 h3 标签继承 color。您甚至可以使用类似 this 的 svg 创建自定义图标字体.

关于css - 在 CSS 伪元素中引用内联 SVG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29796736/

相关文章:

javascript - 如何将线性渐变应用于 css 中的元素?

javascript - D3 - 查找具有相同数据的 SVG 元素

svg - IE10 SVG 实现拒绝抗锯齿 <rect> 元素?

html - 如何更改:悬停、焦点、事件时 SVG 背景图像颜色之前

javascript - Raphael js-onclick 改变颜色的 Action ?保持那个颜色直到返回点击其他

javascript - 当 css3 转换不可用时自动回退到 jquery (Internet Explorer)

javascript - 如何在用户单击菜单按钮时弹出菜单?

css - 对(静态)CSS 文件所做的更改未反射(reflect)在 Django 开发服务器中

svg - 我如何配置 Jekyll 来为 SVG 提供服务?

java - 保留按钮 :focus when changing Tabs in TabPane