我想使用字体Awesome图标作为CSS内容,即,

a:before {
    content: "<i class='fa...'>...</i>";
}

我知道我不能在内容中使用HTML代码,所以它只剩下图像吗?


当前回答

另一个不需要你手动摆弄Unicode字符的解决方案可以在让字体变得很棒很棒-使用没有I -tags的图标(免责声明:这篇文章是我写的)中找到。

简单地说,你可以像这样创建一个新类:

.icon::before {
    display: inline-block;
    margin-right: .5em;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: translate(0, 0);
}

然后将它用于任何图标,例如:

<a class="icon fa-car" href="#">This is a link</a>

其他回答

下面是我的webpack 4 +字体很棒的解决方案:

webpack插件:

new CopyWebpackPlugin([
    { from: 'node_modules/font-awesome/fonts', to: 'font-awesome' }
  ]),

全局CSS样式:

@font-face {
    font-family: 'FontAwesome';
    src: url('/font-awesome/fontawesome-webfont.eot');
    src: url('/font-awesome/fontawesome-webfont.eot?#iefix') format('embedded-opentype'),
    url('/font-awesome/fontawesome-webfont.woff2') format('woff2'),
    url('/font-awesome/fontawesome-webfont.woff') format('woff'),
    url('/font-awesome/fontawesome-webfont.ttf') format('truetype'),
    url('/font-awesome/fontawesome-webfont.svgfontawesomeregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

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

示例链接: https://codepen.io/bungeedesign/pen/XqeLQg

获取图标代码: https://fontawesome.com/cheatsheet?from=io

如果你可以通过font-awesome访问SCSS文件,你可以使用这个简单的解决方案:

.a:after {
    // Import mixin from font-awesome/scss/mixins.scss
    @include fa-icon();

    // Use icon variable from font-awesome/scss/variables.scss
    content: $fa-var-exclamation-triangle;
}

正如FontAwesome网站上所说的,FontAwesome =>

HTML:

<span class="icon login"></span> Login</li>

CSS:

 .icon::before {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
  }

    .login::before {
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f007";
   }

在。login::before ->中编辑内容:";以适应您的unicode。

另一个不需要你手动摆弄Unicode字符的解决方案可以在让字体变得很棒很棒-使用没有I -tags的图标(免责声明:这篇文章是我写的)中找到。

简单地说,你可以像这样创建一个新类:

.icon::before {
    display: inline-block;
    margin-right: .5em;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: translate(0, 0);
}

然后将它用于任何图标,例如:

<a class="icon fa-car" href="#">This is a link</a>