【问题标题】:How can I use a font icon as a background image?如何使用字体图标作为背景图像?
【发布时间】:2017-07-05 18:52:14
【问题描述】:

1) 我知道我可以使用伪选择器(之前、之后)和“内容”来使用字体图标,但这不是一个可扩展的解决方案,因为我需要对填充、左侧、顶部等进行许多更改不同的情况

2) 使用 Data URI 一个 svg 是可以的,但我需要更改 svg 的填充/颜色 根据不同的动作。我尝试了填充属性,但它并没有真正起作用。

我可以在外部更改/编辑颜色,但我有很多变化,而且无法缩放


图标字体(例如:FontAwesome)带有浏览器的 SVG 文件。是否可以在 css 中以某种方式使用该文件(如图像精灵)?

【问题讨论】:

  • 伪元素技巧非常灵活。我真的不明白你为什么不能使用它。

标签: css svg fonts icons


【解决方案1】:

如果您想修改 SVG 的属性,则必须内联放置。所以使用 SVG 作为背景 修改属性是行不通的。

像 FontAwesome 这样的库会为您提供 font,而不是 svg,您也不能将其设置为背景。

我没有看到使用 psuedo-selectors :before 和 :after 的问题。在我看来,它们具有很强的可扩展性。

如果您真的想以不同的方式做,您应该与我们分享您的一些代码,以便我们更好地了解您想要做什么。

【讨论】:

  • 我想将图标放置在表单域中,左侧或右侧。我有很多变化作为输入的大小,还有状态(定义左或右)和时间。因为 之前不能有,之后我需要添加父元素和图标元素。将此与 css 的许多变体(填充、边距等)结合起来,我有很多工作要做。仅使用输入元素将它们用作背景(添加或删除类)我认为“密集”较少,代码较少且可扩展性更高。
  • 你可以做的是创建一个输入组div,其中包含一个输入元素和一个带背景的div。然后选择背景元素 .input-group .background-element 并将其绝对定位到输入中。或者使用 input + .background-element 选择它
  • @user3541631 让我知道它是否有效。如果您正在努力解决某些问题,请随时分享您制作的代码,我会看看它:)
猜你喜欢
  • 2021-06-14
  • 1970-01-01
  • 2011-07-18
  • 2012-07-16
  • 1970-01-01
  • 2017-02-03
  • 1970-01-01
  • 2017-03-18
  • 1970-01-01
相关资源
最近更新 更多