Font Awesomeを使用していますが、HTTPでCSSを追加したくありません。 Font Awesomeをダウンロードしてコードに追加しましたが、Font Awesomeにはアイコンの代わりに枠付きの四角形のボックスが表示されています。ここに私のコードがあります:
<html>
<head>
<link rel="stylesheet" href="../css/font-awesome.css">
<link rel="stylesheet" href="../css/font-awesome.min.css">
</head>
<body>
<div style="font-size: 44px;">
<i class="fa fa-camera-retro fa-lg"></i> fa-lg
<i class="fa fa-camera-retro fa-2x"></i> fa-2x
</div>
</body>
</html>
枠付きの四角いボックスの代わりにアイコンを表示する方法を知りたい。
私の場合、CSSコードで次の間違いを犯しました。
*{
font-family: 'Open Sans', sans-serif !important;
}
これにより、ページ全体のすべてのフォントファミリルールが上書きされます。私の解決策は、コードをそのように本体に移動することでした。
body{
font-family: 'Open Sans', sans-serif;
}
注意:cssで!important
フラグを使用すると、同じ要素で同じタイプで宣言された他のcssルールがオーバーライドされます。
font-awesome.min.css
を開くと、次のパスが表示されます。
'Fonts/fontawesome-webfont.ttf?v=4.2.0' ...
つまり、ディレクトリFonts
を作成してから、ファイルfontawesome-webfont.ttf
(fontawesome-webfont.woff
、fontawesome-webfont.eot
)をこのフォルダーにコピーする必要があります。その後、すべてが正常に動作するはずです。
フォントawesomeの新しいバージョン(5)は、"fas"
プレフィックスの代わりに"fab"
または"fa"
を使用することに注意してください。
彼らのウェブサイトから引用:
Faプレフィックスはバージョン5で廃止されました。新しいデフォルトは、ブランドのfasソリッドスタイルとfabスタイルです。
これが私のフォントが空白の正方形を表示していた理由です。修正されました。
サンプルコード:
<a class="nav-link" href="//www.facebook.com/xxx" target="_blank"><i class="fab fa-facebook-f"></i></a>
最初に、class = "fa"およびアイコンのクラスが何であることを確認します。だから、だけでなく
<i class="fa-pencil" title="Edit"></i>
だけでなく
<i class="fa fa-pencil" title="Edit"></i>
その後、期待どおりに動作します。これで問題が解決しました。
以下のようなコードがあるfont-awesome.cssを開きます。
@font-face {
font-family: 'FontAwesome';
src: url('../fonts/fontawesome-webfont.eot?v=4.5.0');
src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');
font-weight: normal;
font-style: normal;
}
次のようなフォルダが必要です。
font awesome -> css
-> fonts
または最も簡単な方法:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
CSS
ファイルへのパスが正しいことを確認してください。絶対リンクを好むのではなく、どこから始まるのかがわかっているので理解しやすく、検索エンジンも相対リンクよりも好むでしょう。帯域幅を削減するには、フォントの素晴らしいサーバーからのリンクを使用します。
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" type="text/css">
さらに、それを使用する場合は、追加のフォントをサーバーにアップロードする必要はありませんであり、正しいCSS
ファイルを指していることを確認でき、最新の更新プログラムをすぐに利用できます。
最初は、font-awesome.css
andfont-awesome.min.css
の両方を持ってはいけません
一般的に、開発中にfont-awesome.css
を使用し、サイトに満足したらfont-awesome.min.css
に切り替えます。
このような問題は多くの場合、相対パスと場所が原因で発生するため、htmlファイルがcssに関連する場所を確認してください。
Htmlファイルがベースディレクトリにあり、CSSがルートのサブフォルダーにある場合は、href="./css/font-awesome.css"
(単一のピリオド)が必要です。
上記はすべて正しいですが、その上、私の問題は、次のものを持たない無料バージョンのFA5をダウンロードしたことです。
font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0')
V5を動作させることができなかったので、上記の投稿の助けを借りて4.7.0に戻し、問題を修正しました。
CDNとjavascript includeを使用してFont Awesomeを正常にインストールしました( このページ で説明)。次に、HTMLとCSSを古いページにコピーしようとすると、アイコンの代わりに空の四角いボックスが突然表示されました。
ダニエルの答え(上記)を見て、私の古いCSSファイルが巨大(そして何年も前)だったので、それが問題だと思った。ただし、Chrome DevToolsを見ると、Font Awesomeがロードされているように見えました。
問題がある場合、フォントを取り消し線で表示することを期待していました...しかし、すべてのオプションを使い果たしたため、計算スタイルを確認し、Font Awesomeフォントが確実に使用されていないことを明確に確認しました。 (下部のレンダリングされたフォントを参照してください)
私のレガシーのCSSファイルはめちゃくちゃだったので、触れないほうがいいので、これをすることでだまされました-誰にも言わないでください:)
<a class="nav-link fa fa-instagram" style="font-family:FontAwesome;" href="//www.instagram.com/xxxx/" target="_blank"></a>
また、Font Awesomeバージョン4.7.0からバージョン5.4.1にアップグレードすると、この問題はなくなりました。 このセットアップガイド とこのHTMLを使用しました
<a class="nav-link" href="//www.instagram.com/xxxx/" target="_blank"><i class="fab fa-instagram"></i></a>
私の場合:font-awesome.min.cssファイルだけでなく、プロジェクトのcssフォルダーにfont-awesomeフォルダー全体をコピーする必要があります。
font-awesome-4.x
で、fonts
フォルダーをWebアプリフォルダーに追加します。
MacOS Mojaveでは、Safariでこの問題が発生しました。フォントが素晴らしい画像はChromeで機能しましたが、Safariでは機能しなかったため、サイトではないと確信しました。
Safariメニューの[基本設定]に移動し、[プライバシー]タブの[クロスサイトトラッキングを禁止する]を無効/オフにして、レンダリングできるようにしました。
なぜこれが修正されたのかはわかりませんが、修正されました。
You needed to close your `<link />`
As you can see in your <head></head> tag. This will solve your problem
<head>
<link rel="stylesheet" href="../css/font-awesome.css" />
<link rel="stylesheet" href="../css/font-awesome.min.css" />
</head>
VCS(gitなど)を使用してアイコンファイルをサーバーに転送した可能性があります。 gitより:
warning: CRLF will be replaced by LF in webroot/fonts/FontAwesome.otf.
The file will have its original line endings in your working directory.
warning: CRLF will be replaced by LF in webroot/fonts/fontawesome-webfont.eot.
The file will have its original line endings in your working directory.
warning: CRLF will be replaced by LF in webroot/fonts/fontawesome-webfont.ttf.
The file will have its original line endings in your working directory.
warning: CRLF will be replaced by LF in webroot/fonts/fontawesome-webfont.woff.
The file will have its original line endings in your working directory.
warning: CRLF will be replaced by LF in webroot/fonts/fontawesome-webfont.woff2.
The file will have its original line endings in your working directory.
おそらく、フォントを修正する必要があります。
したがって、style='font-weight:normal;'
を追加するか、そうでなければ要素のフォントを直接変更すると、Font AwesomeのCSSファイルの.fas{font-weight:900}
定義がオーバーライドされます。フォントは、それが機能するフォントファイル内で特定の定義を持っていると思います。 font-weight
は501〜1000の間に設定する必要があります。そうしないと、フォントが正方形のブロックのように見える場合があります。