ブートストラップ 3.0 をダウンロードしましたが、グリフィコンが機能しません。ある種の「E003」エラーが発生します。なぜこれが起こっているのですか?ローカルとオンラインの両方を試しましたが、それでも同じ問題が発生します。
48 に答える
読者への注意:カスタマイザーのバグに関する@ user2261073 のコメントと@ Jeff の回答を必ずお読みください。それはおそらくあなたの問題の原因です。
フォント ファイルが正しく読み込まれていません。ファイルが予想される場所にあるかどうかを確認します。
@font-face {
font-family: 'Glyphicons Halflings';
src: url('../fonts/glyphicons-halflings-regular.eot');
src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');
}
ダニエルが指摘したように、これは MIME タイプの問題でもある可能性があります。Chrome の開発ツールは、ダウンロードしたフォントをネットワーク タブに表示します。
私の場合、glyphicons-halflings-regular.woffに対して 404 が発生し、モバイル ブラウザーではグリフィコンが表示されませんでした。
woff の MIME タイプについては混乱があり、複数の MIME タイプが異なるブラウザで受け入れられているようですが、W3C は次のように述べています。
application/font-woff
編集: woff の次の MIME タイプをテストした後、現在すべてのブラウザーで動作します。
application/x-font-woff
編集: 現時点での Bootstrap の最新バージョン (3.3.5) は、.woff と同じ初期結果を持つ .woff2 フォントを使用します。W3C はまだ仕様を定義していますが、現時点では MIME タイプは次のようです。
application/font-woff2
-最高評価の回答に従っても、まだ機能しない場合:
Font
フォルダーは、CSS フォルダーと同じレベルにある必要があります。パスを修正しても機能しbootstrap.css
ません。
Bootstrap.css
次のようにFonts
フォルダーに移動する必要があります。
@font-face {
font-family: 'Glyphicons Halflings';
src: url('../fonts/glyphicons-halflings-regular.eot');
src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
他の解決策が機能しない場合は、Bootstrap にすべてを任せるのではなく、外部ソースから Glyphicons をインポートしてみてください。これをする:
HTML でこれを行うことができます。
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css" rel="stylesheet">
または CSS:
@import url("//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css")
このスレッドの edsiofi の功績: Bootstrap 3 Glyphicons CDN
Azure Web サイトにwoff MIME 構成がありません。次のエントリを web.config に追加する必要があります
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension="woff" mimeType="application/font-woff" />
</staticContent>
</system.webServer>
</configuration>
IIS は既定ではファイルをサーバーに保存しないため、IIS ではファイルにエントリを.woff
追加する必要があります。<mimeMap>
web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".woff" mimeType="application/x-woff" />
</staticContent>
</system.webServer>
</configuration>
less variables.less ファイルを変更しました 変数を変更しました
@icon-font-path: "fonts/";
オリジナルは
@icon-font-path: "../fonts/";
問題を起こしていた
フォントディレクトリに以下のファイルがすべてありますか
glyphicons-halflings-regular.eot
glyphicons-halflings-regular.svg
glyphicons-halflings-regular.ttf
glyphicons-halflings-regular.woff
これは非常に長い撮影ですが、それは私の場合であり、まだここにないためです.
gulp-sass
or grunt-sass
ieを使用してSASSからTwitter Bootstrapをコンパイルしている場合。node-sass
. 特にかなり古いプロジェクトで作業している場合は、ノード モジュールが最新であることを確認してください。
しばらく前に SASS ディレクティブがグリフィコン@at-root
の定義で使用されていることが判明しました。 .@font-face
ここでの落とし穴は、node-sass
つまりです。ディレクティブが古すぎる場合libsass
はサポートしないでください。@at-root
この場合、ブラウザが何をすべきかわからない@font-face
ラップされたを取得します。@at-root
この結果、フォントがダウンロードされず、アイコンの代わりにゴミが表示される可能性があります。
以下は私のためにそれを修正したものです。Firebug コンソールで使用すると、「bad URI」エラーが発生しました。アイコンは E### 番号として表示されていました。「fonts」ディレクトリに .htaccess ファイルを追加する必要がありました。
<FilesMatch "\.(ttf|otf|eot|woff)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
次の重複の可能性: Firefox のダウンロード可能なフォント: 不適切な URI またはクロスサイト アクセスが許可されていません
注: 以下はニッチなシナリオである可能性がありますが、他の誰かが役立つ場合に備えて共有したいと思います。
Rails プロジェクトでは、Rails エンジンである gem を使用してかなりの量を再利用していbootstrap-sass
ます。メイン プロジェクトでは、グリフィコン フォント パスの解像度を除いて、すべて問題ありませんでした。
GET http://0.0.0.0:3000/fonts/bootstrap/glyphicons-halflings-regular.woff 404 (Not Found)
それが真であると予想していたのは解決中だったので、パスが異なっていたこと$bootstrap-sass-asset-helper
がわかりました。false
$bootstrap-sass-asset-helper
次のようにして、エンジン gem で を初期化しました。
// explicit sprockets import to get glyphicon font paths correct
@import 'bootstrap-sprockets';
@import "bootstrap/variables";
たとえば、これによりパスが次のように解決されました。
/assets/bootstrap/glyphicons-halflings-regular.woff
繰り返しますが、これは を使用する通常の Rails プロジェクトでは必要ありません。bootstrap-sass
たまたま多くのビューを再利用しているだけで、これでうまくいきました。うまくいけば、これは他の誰かを助けることができます.
レンダリングされないフォントに関する公式ドキュメントの内容は次のとおりです。
アイコンのフォントの場所を変更する Bootstrap は、アイコンのフォント ファイルが、コンパイル済みの CSS ファイルに対して相対的な ../fonts/ ディレクトリにあると想定します。これらのフォント ファイルを移動または名前変更することは、次の 3 つの方法のいずれかで CSS を更新することを意味します。Less コンパイラが提供する相対 URL オプションを利用します。コンパイルされた CSS の url() パスを変更します。特定の開発設定に最適なオプションを使用してください。
それ以外は、フォントフォルダーをルートディレクトリにコピーし忘れた可能性があります
私はこの問題を抱えていましたが、それは variables.less ファイルが原因でした。それをオーバーライドして icon-font-path 値を設定すると、問題が解決しました。
ファイル構造は次のようになります。
\Content
\Bootstrap
\Fonts
styles.less
variables.less
Content のルートに独自の variables.less ファイルを追加し、styles.less でこれを参照すると、404 エラーが解決されました。
Variables.less には以下が含まれます。
@icon-font-path: "fonts/";
NuGet から Bootstrap を入手しました。サイトを公開したとき、グリフが機能しませんでした。
私の場合、各フォントファイルのビルドアクションを「コンテンツ」に設定し、「常にコピー」に設定することで機能しました。
ブラウザがフォント ファイルを見つけられないという同じ問題がありました。私の問題は、処理のために送信してはならないファイルをホワイトリストに登録していた .htaccess ファイルの除外が原因でしたindex.php
。フォント ファイルを読み込めなかったため、文字は BLOB に置き換えられました。
RewriteCond %{REQUEST_URI} !\.(jpg|png|gif|svg|css|js|ico|rss|xml|json)$
RewriteCond %{REQUEST_URI} !-d
RewriteRule ^ index.php [L,QSA]
ご覧のとおり、images、rss、xml などのファイルは書き換えから除外されていますが、フォント ファイルは.woff
and.woff2
ファイルであるため、これらもホワイトリストに追加する必要がありました。
RewriteCond %{REQUEST_URI} !\.(jpg|png|gif|svg|css|js|ico|rss|xml|json|woff|woff2)$
RewriteCond %{REQUEST_URI} !-d
RewriteRule ^ index.php [L,QSA]
woff
ホワイトリストにとを追加するとwoff2
、フォント ファイルをロードできるようになり、グリフィコンが正しく表示されるようになります。
これは、ブートストラップ 3 にアイコンを含める方法です
<span class="glyphicon glyphicon-bell"></span>
http://glyphicons.bootstrapcheatsheets.com/
それが役立つことを願っています。
@font-face {
font-family: 'Glyphicons Halflings';
src: url('../fonts/glyphicons-halflings-regular.eot');
src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');}
名前空間とグリフィコンが機能しないブートストラップを使用していますが、コードグリフィコンに上記の行を追加した後、正常に機能します。
Ctrl + c、Ctrl + vを使用してbootstrap.cssからフォントの名前を変更したところ、機能しました。
私にとってうまくいったのは、次のルートを置き換えることでした:
@font-face {
font-family: 'Glyphicons Halflings';
src: url('../fonts/glyphicons-halflings-regular.eot');
src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');
}
に
@font-face {
font-family: 'Glyphicons Halflings';
src: url('/assets/glyphicons-halflings-regular.eot');
src: url('/assets/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),
url('/assets/fonts/glyphicons-halflings-regular.woff') format('woff'),
url('/assets/glyphicons-halflings-regular.ttf') format('truetype'),
url('/assets/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
以前の答えはどれも私にはうまくいきません....
問題は、私が試してみたところ、1 時間後に、このアイコンが Bootstrap パックに含まれていない<span class="icones glyphicon glyphicon-pen">
ことに気付きました! 封筒のアイコンは正常に機能していましたが..
glyphicons-halflings-regular.woff
であるかどうかを確認しますglyphiconshalflings-regular.woff
Eclipse で Web フラグメントを使用しているときに、この問題が発生しました。Web フラグメント jar にパックされたときに、フォント ファイルが破損していました。フラグメントが使用されたプロジェクトにフォント ファイルをコピーすると、問題が解決しました。
この回答は、Nancy (NancyFx) を使用しているすべての人を対象としています。
ASP.NET でホストされている NancyFX アプリがあり、NuGet 経由で Boostrap を取得しました。
私のグリフィコンは機能していませんでしたが、不良フォント ファイル、不適切な CSS 相対ディレクトリ パス、または他の回答で言及されているその他の問題ではないことが判明しました。
問題は、ナンシーにどこでコンテンツを探せばよいかを伝える慣例を私が見逃していたことでした。これに気付いたら、解決策は単に次のオーバーロードをブートストラップ ファイルに追加することでした。
protected override void ConfigureConventions(NancyConventions nancyConventions)
{
base.ConfigureConventions(nancyConventions);
nancyConventions.StaticContentsConventions.Add(
StaticContentConventionBuilder.AddDirectory("/fonts"));
nancyConventions.StaticContentsConventions.Add(
StaticContentConventionBuilder.AddDirectory("/Scripts"));
}
ブートストラップ CSS ファイルに CDN を使用している場合、グリフ ファイル (例: glyphicons-halflings-regular.woff ) も CDN から取得されるため、それが原因である可能性があります。
私の場合、Microsoft の CDN を使用してこの問題に直面しましたが、MaxCDNに切り替えることで解決しました。
そこのサイトから完全な/カスタマイズされていないパッケージをダウンロードし、フォントファイルをカスタマイズされていないパッケージのフォントに置き換えます。その意志は固定されています。
それらを許可するには、いくつかの書き換え条件を作成する必要がありました。
RewriteCond %{REQUEST_URI} !(^.+\.ttf)
RewriteCond %{REQUEST_URI} !(^.+\.eot)
RewriteCond %{REQUEST_URI} !(^.+\.svg)
RewriteCond %{REQUEST_URI} !(^.+\.woff)
私はVS2015、ASP.NET MVC 6(RC)を使用しており、本番環境(VS(開発)で機能していた)のグリフィコンにも問題(参照へのエラーメッセージ、アイコンが表示されない)がありました。
その理由は、MS cdn ページがダウンしているためのようです (少なくとも現在、スイスから):
http://www.websitedown.info/ajax.aspnetcdn.com
したがって (一時的な回避策として)、_Layout.cshtml (環境名="Staging,Production" の下) の外部参照を「内部」参照に変更
しました。
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.5/css/bootstrap.min.css"
に
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css"
それをした後、それは再び機能します。
私は同様の問題を抱えていました。ブートストラップに完全に慣れていないので、アイコン名の前にグリフィコンキーワードがないことがわかりました。
<span class="glyphicon-search"></span>
になるはずだった
<span class="glyphicon glyphicon-search"></span>
CSSのUTF文字の問題のようです。ブートストラップ css ファイルを新しいもので更新するだけです。