我有一些CSS看起来像这样:

#content h2 {
   background: url(../images/tContent.jpg) no-repeat 0 6px;
}

我想用字体很棒的图标替换图像。

我不认为在CSS中使用图标作为背景图像。这是可能的,假设字体Awesome样式表/字体在我的CSS之前加载?


当前回答

这似乎是最简单的解决方案:-)

#content h2:before {
   font-family: FontAwesome;
   content: "\f055";
   position:absolute;
   left:0;
   top:0;
}

其他回答

您不能使用文本作为背景图像,但可以使用:before或:after伪类将文本字符放置在您想要的位置,而不必添加各种凌乱的额外标记。

请确保在实际的文本包装器上设置position:相对位置,以便定位工作。

.mytextwithicon {
    position:relative;
}    
.mytextwithicon:before {
    content: "\25AE";  /* this is your text. You can also use UTF-8 character codes as I do here */
    font-family: FontAwesome;
    left:-5px;
    position:absolute;
    top:0;
 }

编辑:

Font Awesome v5使用了比旧版本更多的字体名称:

对于FontAwesome v5,免费版本,使用:Font -family: "Font Awesome 5 Free" 对于FontAwesome v5, Pro版本,使用:Font -family: "Font Awesome 5 Pro"

注意,您也应该设置相同的font-weight属性(似乎是900)。

找到字体名称的另一种方法是右键单击页面上的示例字体awesome图标,并获得字体名称(与找到utf-8图标代码的方法相同,但请注意,您可以在:before上找到它)。

要使用字体awesome使用css遵循以下步骤-

步骤1 -在CSS中添加FontAwesome字体

/*Font Awesome Fonts*/
@font-face {
    font-family: 'FontAwesome';
    //in url add your folder path of FontAwsome Fonts
    src: url('font-awesome/fontawesome-webfont.ttf') format('truetype');
}

使用下面的css在HTML的class元素上应用字体

.sorting_asc:after {
    content: "\f0de"; /* this is your text. You can also use UTF-8 character codes as I do here */
    font-family: FontAwesome;
    padding-left: 10px !important;
    vertical-align: middle;
}

最后,使用“sorting_asc”类在所需的HTML标签/元素上应用css。

这似乎是最简单的解决方案:-)

#content h2:before {
   font-family: FontAwesome;
   content: "\f055";
   position:absolute;
   left:0;
   top:0;
}

或者,如果使用Sass,可以“扩展”FA图标来显示它们:

.mytextwithicon:before {
  @extend .fas, .fa-angle-double-right;

  @extend .mr-2; // using bootstrap to add a small gap
                 // between the icon and the text.
}

巩固以上所有内容,下面是工作良好的最终类

   .faArrowIcon {
        position:relative;
    }

    .faArrowIcon:before {
        font-family: FontAwesome;
        top:0;
        left:-5px;
        padding-right:10px;
        content: "\f0a9"; 
    }