2016-05-01 14 views
7

Toàn bộ người mới bắt đầu để Laravel 5 và cố gắng nhập khẩu phông chữ tùy chỉnh sử dụng mã này trong phần đầu của tôi:Tôi đặt phông chữ tùy chỉnh ở Laravel 5 ở đâu?

<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; 
} 

và gọi đó là trong variables.scss tôi. Hiện nay các phông chữ của tôi được lưu trữ trong thư mục công cộng của tôi:

public/fonts/OptimusPrinceps.woff 
public/fonts/OptimusPrinceps.tff 
etc. 

Đối với một số lý do cảnh báo này xuất hiện trong các công cụ dev của tôi

Failed to decode downloaded font: http://localhost:3000/fonts/OptimusPrinceps.tff 
OTS parsing error: invalid version tag 

Và phông chữ của tôi không tải một cách chính xác.

+0

có bạn đã cố gắng sử dụng 'public_path()': https://laravel.com/docs/5.2/helpers#method-public- đường dẫn –

+0

Không, tôi không có, nhưng trông giống như một giải pháp. Làm thế nào tôi sẽ mã nó trong ví dụ của tôi? – user3818418

Trả lời

7

Đặt mọi thứ mà trình duyệt của khách hàng truy cập vào /public/. Bạn có thể sử dụng hàm trợ giúp Laravel public_path để tạo URL đầy đủ cho nó.
https://laravel.com/docs/5.2/helpers#method-public-path

Ví dụ, nếu bạn đặt phông chữ của bạn trong /public/fonts/OptimusPrinceps.tff (mà bạn đã làm), bạn có thể truy cập vào nó một trong hai cách.

Trong Blade:

<style type="text/css"> 
@font-face { 
    font-family: OptimusPrinceps; 
    src: url('{{ public_path('fonts/OptimusPrinceps.tff') }}'); 
} 
</style> 

Trong CSS bao gồm:

@font-face { 
    font-family: OptimusPrinceps; 
    src: url('/fonts/OptimusPrinceps.tff'); 
} 

Trong ví dụ thứ hai, bạn không cần bất kỳ ma thuật Laravel, thực sự. Chỉ cần tham khảo đường dẫn tuyệt đối để nó trỏ đến thư mục chính xác.

Đáng chú ý rằng thao tác này hoạt động với Bootstrap và SCSS. Tôi thường đặt phông chữ trong /public/static/fonts/.

+0

Vấn đề duy nhất tôi có bây giờ là vấn đề này: 'Không được phép tải tài nguyên cục bộ: tệp: /// E:/MainWeb% 20DesignProjectsLore% 20Soulspublic/fonts/OptimusPrinceps.tff' – user3818418

+0

Đó là một trang web trình duyệt khai thác vấn đề, không phải là một Laravel một. Bạn đang truy cập ứng dụng của mình thông qua URL không cho phép trình duyệt tải tài nguyên của riêng bạn. – Josh

+0

Bạn có thể đặt phông chữ trong thư mục công cộng của mình – d3cypher

1

Trong Laravel 5.4 trong CSS, tôi phải thêm /public trước thư mục /fonts để nó hoạt động.

0

Để thêm từ khóa nào khi bạn bao gồm các phông chữ tùy chỉnh trong laravel xin vui lòng thêm sau:

đường dẫn font Giả sử là css/fonts/PROXIMA-nova-light-59f99460e7b28.otf trong thư mục công cộng sau đó sử dụng như

@font-face { 
    font-family: 'proxima-nova'; 
    font-style: normal; 
    font-weight: 900; 
    src: url('../public/css/fonts/proxima-nova-light-59f99460e7b28.otf'); 
} 

vì vậy, bạn có thể sử dụng ../public/ + đường dẫn font trong thư mục công cộng. Nếu bạn có bất kỳ vấn đề xin vui lòng cho tôi biết đường dẫn phông chữ của bạn, tôi sẽ cập nhật cho bạn đường dẫn cho điều đó.

Các vấn đề liên quan