用CSS中的font awesome图标替换<img>标签

Voj*_*h B 4 html css font-awesome

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

<img class="date-picker" src="/image/datepicker.png">
Run Code Online (Sandbox Code Playgroud)

以下CSS删除了datepicker.png但不显示字体真棒图标

.date-picker {
    background-image: none;
}
.date-picker:after{
    font-family: FontAwesome;
    content: "\f073";
    color:grey;
    font-size:25px;
}
Run Code Online (Sandbox Code Playgroud)

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

Jam*_*lly 7

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

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

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

div img {
  display: none;
}

div::after {
  content: 'foo';
  position: absolute;
  top: 0;
}
Run Code Online (Sandbox Code Playgroud)
<div>
  <img src="http://placehold.it/100x100" />
</div>
Run Code Online (Sandbox Code Playgroud)

在这里,我们隐藏img元素并将伪元素应用于div容器,然后绝对地将伪元素放置在内部(好吧,在顶部)div.