回答:
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以下
それは間違った使い方です。font awesomeスタイルシートを開き、class
sayを使用するフォントのに移動し、fa-phone
そのクラスの下のcontentプロパティをエンティティとともにコピーして、次のように使用します。
a:before {
font-family: FontAwesome;
content: "\f095";
}
特定のa
タグをターゲットにする場合は、class
代わりにaを使用して、より具体的にすることを検討してください。
a.class_name:before {
font-family: FontAwesome;
content: "\f095";
}
上記の方法を使用すると、アイコンに残りのテキストが貼り付けられます。そのため、2つのアイコンの間に少しスペースを置きたい場合は、アイコンを作成し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
、直接コピーのためのコードを(すなわちA誰でも思いつきそう)。PS:FontAwesomeの連中がなぜ各アイコンページにコンテンツコードを配置しないのか疑問に思いますか?!
Unicode文字を手動でいじる必要のない別の解決策は、フォントを素晴らしいものにする-iタグなしのアイコンの使用(免責事項:私がこの記事を書いた)にあります。
簡単に言うと、次のような新しいクラスを作成できます。
.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 Awesome 5 Free font-familyを機能させるには、font-weightを900に設定する必要があります。
これは動作しているものです:
.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:'';
あなたのユニコードに合うように。
SCSSを使用したFont Awesome 5の更新
.icon {
@extend %fa-icon;
@extend .fas;
&:before {
content: fa-content($fa-var-user);
}
}
これが私のwebpack 4 + font awesome 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";
}