私はCSSコンテンツとして素晴らしいフォントアイコンを使いたい、すなわち
a:before {
content: "<i class='fa...'>...</i>";
}
私はcontent
にHTMLコードを使用できないことを知っています、それでそれは残っているイメージだけですか?
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
と言って、そのクラスの下のコンテンツプロパティをエンティティにコピーし、次のように使用します。
a:before {
font-family: FontAwesome;
content: "\f095";
}
特定のa
タグを対象とする場合は、代わりにclass
を使用してより具体的にすることを検討してください。
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 */
}
あなたが手動で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>
あなたが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;
}
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
あなたはCSSでこれにUnicodeを使うことができます。あなたが素晴らしいフォント5を使用しているなら、これは構文です。
.login::before {
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f007";
}
あなたは彼らのドキュメンテーションを見ることができます ここ 。
Font Awesome 5 Free font-familyが機能するためには、font-weightを900に設定する必要があります。
これは動作しているものです:
.css-selector::before {
font-family: 'Font Awesome 5 Free';
content: "\f101";
font-weight: 900;
}
FontAwesomeのWebサイトでの説明のとおり 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に合うようにcontent:'';
を編集してください。
SCSSを使用したFont Awesome 5の更新
.icon {
@extend %fa-icon;
@extend .fas;
&:before {
content: fa-content($fa-var-user);
}
}