将<img/>标记替换为CSS中的字体awesome图标

时间:2015-09-24 09:17:30

标签: html css font-awesome

我在遗留应用程序周围有数百个图标:

<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标签的情况下实现这一目标?

3 个答案:

答案 0 :(得分:7)

伪元素仅适用于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容器,然后绝对地将伪元素放置在{{1}的内部(好吧,顶部) }}

答案 1 :(得分:0)

您可以将图像包装在一个范围内并使用相同的类。

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>

答案 2 :(得分:0)

使用jquery,你可以找到所有的img标签并将img包装在一个数字标签中并将图标类应用于该标签。