【问题标题】:Replace <img> tag with font awesome icon from CSS用 CSS 中的字体真棒图标替换 <img> 标记
【发布时间】:2015-09-24 09:17:30
【问题描述】:

我在旧版应用程序周围有数百个图标:

<img class="date-picker" src="/image/datepicker.png">

按照 CSS 删除 datepicker.png 但不显示字体真棒图标

.date-picker {
    background-image: none;
}
.date-picker:after{
    font-family: FontAwesome;
    content: "\f073";
    color:grey;
    font-size:25px;
}

有没有办法在不改变 IMG 标签的情况下实现这一点?

【问题讨论】:

标签: html css font-awesome


【解决方案1】:

伪元素仅应用于无法加载src 属性的图像。如果图片加载成功,则不会使用伪元素。

您可以做的一件事是将其应用于父元素,但这显然取决于您的标记:

div {
  height: 100px;
  width: 100px;
  position: relative;
}

div img {
  display: none;
}

div::after {
  content: 'foo';
  position: absolute;
  top: 0;
}
<div>
  <img src="http://placehold.it/100x100" />
</div>

这里我们隐藏img 元素并将伪元素应用到div 容器,然后将伪元素绝对定位在div 内部(嗯,在上面)。

【讨论】:

    【解决方案2】:

    您可以将图像包装在一个跨度中并使用相同的类。

    img.date-picker {
      display: none;
    }
    span.date-picker:after {
      font-family: FontAwesome;
      content: "\f073";
      color: grey;
      font-size: 25px;
      display: inline-block;
      margin: 1em;
      /* demo only */
    }
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.css" rel="stylesheet" />
    <span class="date-picker"><img class="date-picker" src="/image/datepicker.png"></span>

    【讨论】:

    • 如果他们可以直接修改源代码,他们肯定会将img 元素转换为Font-Awesome 图标......此外,如果他们可以直接修改源代码,他们不应该这样做反正。 :P
    • 真的...只是把选项扔在那里,也许用 JQuery wrap() 包装?
    【解决方案3】:

    使用 jquery 你可以找到所有的 img 标签并将 img 包装在一个图形标签中,然后应用图标类。

    【讨论】:

      猜你喜欢
      • 2019-02-24
      • 2013-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-16
      • 2019-09-04
      • 2013-08-23
      • 2015-06-01
      相关资源
      最近更新 更多