Laravel 5の初心者で、ヘッダーでこのコードを使用してカスタムフォントをインポートしようとしています:
<style>
@font-face {
font-family: 'Conv_OptimusPrinceps';
src: url('fonts/OptimusPrinceps.eot');
src: local('☺'), url('fonts/OptimusPrinceps.woff') format('woff'), url('fonts/OptimusPrinceps.ttf') format('truetype'), url('fonts/OptimusPrinceps.svg') format('svg');
font-weight: normal;
font-style: normal;
}
variables.scssで呼び出します。現在、私のフォントは公開ディレクトリに保存されています。
public/fonts/OptimusPrinceps.woff
public/fonts/OptimusPrinceps.tff
etc.
何らかの理由で、この警告は開発ツールに表示されます
Failed to decode downloaded font: http://localhost:3000/fonts/OptimusPrinceps.tff
OTS parsing error: invalid version tag
そして、私のフォントは正しく読み込まれません。
クライアントブラウザがアクセスする必要のあるものはすべて/public/
。 Laravelヘルパー関数public_path
完全なURLを作成します。
https://laravel.com/docs/5.2/helpers#method-public-path
たとえば、フォントを/public/fonts/OptimusPrinceps.tff
(実行済み)、次の2つの方法のいずれかでアクセスできます。
ブレード内:
<style type="text/css">
@font-face {
font-family: OptimusPrinceps;
src: url('{{ public_path('fonts/OptimusPrinceps.tff') }}');
}
</style>
CSSに含まれるもの:
@font-face {
font-family: OptimusPrinceps;
src: url('/fonts/OptimusPrinceps.tff');
}
2番目の例では、Laravel magicはまったく必要ありません。正しいディレクトリを指すように絶対にパスを参照してください。
これはBootstrapとSCSSで動作することに注意してください。私は通常/public/static/fonts/
。
webpack.mix.js
追加
mix.copyDirectory('resources/assets/fonts', 'public/fonts');
完全なドキュメントはこちら: https://laravel.com/docs/5.5/mix
CSSのLaravel 5.4)では、_/public
_フォルダーの前に_/fonts
_フォルダーを追加する必要がありました(ファイルに含まれるcssの場合)
_`@font-face {
font-family: OptimusPrinceps;
src: url('/public/fonts/OptimusPrinceps.tff');
}`
_
最善の方法である代替方法は、以下のようにassets()
ヘルパー関数を使用することです。この場合、fontsフォルダーはpublicディレクトリーになければなりません。 (headタグのcssの場合)
_`<style>
@font-face {
font-family: OptimusPrinceps;
src: url('{{asset('/fonts/OptimusPrinceps.tff')}}');
}
</style>`
_
laravelにカスタムフォントを含めるときにパブリックキーワードを追加するには、以下を追加してください。
フォントパスがcss/fonts/proxima-nova-light-59f99460e7b28.otfであり、パブリックディレクトリにあるとし、次にasを使用するとします。
@font-face {
font-family: 'proxima-nova';
font-style: normal;
font-weight: 900;
src: url('../public/css/fonts/proxima-nova-light-59f99460e7b28.otf');
}
したがって、パブリックディレクトリで../ public / +フォントパスを使用できます。問題がある場合は、フォントパスを教えてください。そのパスを更新します。