Заполните новичок в 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; }
и называя его в моих переменных.scss. В настоящее время мои шрифты хранятся в моем общедоступном каталоге:
public/fonts/OptimusPrinceps.woff public/fonts/OptimusPrinceps.tff etc.
По некоторым причинам это предупреждение появляется в моих инструментах dev
Failed to decode downloaded font: http://localhost:3000/fonts/OptimusPrinceps.tff OTS parsing error: invalid version tag
И мой шрифт загружается неправильно.
Поместите все, что браузер клиента должен получить в /public/
. Вы можете использовать функцию public_path
функции public_path
для создания для нее полных URL-адресов.
https://laravel.com/docs/5.2/helpers#method-public-path
Например, если вы помещаете свой шрифт в /public/fonts/OptimusPrinceps.tff
(который вы сделали), вы можете получить к нему доступ одним из двух способов.
В Blade:
<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'); }
Во втором примере вам действительно не нужна магия Ларавелла. Просто укажите путь абсолютно так, чтобы он указывал на правильный каталог.
Стоит отметить, что это работает с Bootstrap и SCSS. Обычно я помещаю шрифты в /public/static/fonts/
.
В Laravel 5.4 в CSS мне пришлось добавить /public
перед папкой /fonts
чтобы она работала.
@font-face { font-family: OptimusPrinceps; src: url('/public/fonts/OptimusPrinceps.tff'); }
Чтобы добавить общедоступное ключевое слово, когда вы включаете пользовательский шрифт в laravel, добавьте следующее:
Предположим, что путь шрифта – css / fonts / proxima-nova-light-59f99460e7b28.otf в общедоступном каталоге, а затем использовать как
@font-face { font-family: 'proxima-nova'; font-style: normal; font-weight: 900; src: url('../public/css/fonts/proxima-nova-light-59f99460e7b28.otf'); }
Таким образом, вы можете использовать путь ../public/ + font в общедоступном каталоге. Если у вас есть какие-либо проблемы, пожалуйста, сообщите мне свой путь к шрифту. Я уточню вам путь для этого.