Answers:
FontAwesome 5的更新 感谢Aurelien
您需要根据要渲染的图标类型将更font-family
改为Font Awesome 5 Brands
OR Font Awesome 5 Free
。另外,不要忘记声明font-weight: 900;
a:before {
font-family: "Font Awesome 5 Free";
content: "\f095";
display: inline-block;
padding-right: 3px;
vertical-align: middle;
font-weight: 900;
}
您可以阅读下面的答案的其余部分,以了解其工作原理并了解图标和文本之间的间距的一些解决方法。
FontAwesome 4以下
那是使用它的错误方法。打开字体超酷的样式表,转到class
您要使用的字体,说fa-phone
,复制带有实体的该类下的content属性,然后像这样使用它:
a:before {
font-family: FontAwesome;
content: "\f095";
}
只要确保您要定位到特定a
标签即可,然后考虑使用a class
使其更具体,例如:
a.class_name:before {
font-family: FontAwesome;
content: "\f095";
}
使用上面的方法会将图标与您剩余的文本粘贴在一起,因此,如果您希望在两者之间留出一些空间display: inline-block;
,请使用以下方法padding-right
:
a:before {
font-family: FontAwesome;
content: "\f095";
display: inline-block;
padding-right: 3px;
vertical-align: middle;
}
进一步扩展此答案,因为许多人可能需要更改悬停图标,因此,我们可以编写一个单独的选择器和操作规则:hover
:
a:hover:before {
content: "\f099"; /* Code of the icon you want to change on hover */
}
现在在上面的示例中,图标由于大小不同而微调,您肯定不希望这样做,因此可以width
在基本声明中设置一个固定值,例如
a:before {
/* Other properties here, look in the above code snippets */
width: 12px; /* add some desired width here to prevent nudge */
}
font-family: FontAwesome;
它也可以更改锚标记的字体。我们该如何处理?
font-family
是假设在被称为:before
伪,而不是定位标记
content
直接复制的正确代码(即,无需理会)。PS:我仍然想知道为什么FontAwesome伙计们没有在每个图标页面上放置内容代码?
另一种解决方案,您无需手动弄乱Unicode字符,可以在“ 使字体真棒” –使用没有i-tag的图标中找到(免责声明:我写了这篇文章)。
简而言之,您可以创建一个新的类,如下所示:
.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>
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-weight设置为900,Font Awesome 5 Free字体家族才能正常工作。
这是工作中的一个:
.css-selector::before {
font-family: 'Font Awesome 5 Free';
content: "\f101";
font-weight: 900;
}
正如它在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
->编辑content:'';
以适合您的unicode。
这是我的webpack 4 +真棒字体5解决方案:
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";
}