0

プロジェクトを Visual Studio 2013 でローカルに実行すると、Font Awesome Icons が機能します。ただし、展開されると、それらは存在しません。

サーバーから実行すると、IE 開発者ツールは Css が入ってくることを示しますが、フォントへの呼び出しはありません。404エラーなし!403エラーなし!何もない。EOT ファイルを呼び出そうとさえしないため、Css が @font-face 宣言をスキップしているようです。

事実は次のとおりです。

  • MIME タイプはすべて IIS 7.0 に追加されました (eot、svg、woff、woff2、ttf)
  • css へのファイル構造は -- fonts > font-awesome > css です。
  • フォントのファイル構造は -- fonts > font-awesome > fonts
@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot?v=4.3.0');
  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'),
       url('../fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2'),
       url('../fonts/fontawesome-webfont.woff?v=4.3.0') format('woff'),
       url('../fonts/fontawesome-webfont.ttf?v=4.3.0') format('truetype'), 
       url('../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular')

format('svg'); font-weight: normal;font-style: normal; }

4

1 に答える 1

1

確かに言うには十分ではありませんが、推測を危険にさらす必要がある場合は、Font Awesome をバンドルに含めており、バンドル パスがフォント参照を壊していると思います。

バンドル パス、つまり~/bundles/fooリテラル パスです。バンドラーが参加してすべてを縮小すると、ファイルがその場所に保存されます。~/Content/fooのイメージやフォントなどを参照する傾向があるため、通常はスタイル バンドルが使用され~/Contentます。もちろん、バンドルはデフォルトでは本番環境でのみ行われるため、どちらにしても開発には影響しません。バンドル パスとして実際に何を使用しているかはわかりませんが、最初に調べたのはそこです。

もう 1 つの潜在的な問題は、おそらくバンドルがまったくロードされていないことです。これは、物理ディレクトリにマップするバンドル パスを誤って作成した場合によく発生します。たとえば、バンドル パスがで、プロジェクトにunder~/Content/fontsという名前の物理フォルダーがある場合、バンドルは読み込まれず、そのバンドル内のスクリプト/CSS はページに適用されません。バンドル パスが物理ディレクトリを参照していないことを確認してください。fonts~/Content

于 2016-03-15T18:49:22.940 に答える