Làm thế nào để bao gồm một phông chữ .ttf bằng cách sử dụng CSS?


120

Tôi có vấn đề với mã của mình. Vì tôi muốn bao gồm phông chữ chung cho trang của mình và tôi đã tải xuống tệp .ttf. Và tôi đưa nó vào CSS chính của mình nhưng phông chữ của tôi sẽ không thay đổi.

Đây là mã đơn giản của tôi:

@font-face {
    font-family: 'oswald';
    src: url('/font/oswald.regular.ttf');
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    font-size:100%;
    font:inherit;
    font-family: oswald;
    vertical-align:baseline
} 

Tôi không biết mình đã sai ở đâu. Bạn có thể giúp tôi với điều này? Cảm ơn.


1
Bạn có thể kiểm tra tab Mạng trong bảng điều khiển của trình duyệt để đảm bảo rằng phông chữ được tải đúng cách không?
rink.attendant. 6

Bắt đầu từ đây
Mr. Alien

1
Bạn có chắc mình đã đánh vần đúng tên tệp phông chữ không? Có nên không oswald.regular.ttf?

1
Có, tôi đã kiểm tra kỹ tên phông chữ của mình
Jerielle

5
@Jerielle Vậy bạn có phông chữ TTF với phần mở rộng là tff? Bạn có thực sự chắc chắn về điều đó?

Câu trả lời:


174

Chỉ cung cấp tệp .ttf cho webfont sẽ không đủ tốt để hỗ trợ nhiều trình duyệt. Sự kết hợp tốt nhất có thể hiện tại là sử dụng sự kết hợp như sau:

@font-face {
  font-family: 'MyWebFont';
  src: url('webfont.eot'); /* IE9 Compat Modes */
  src: url('webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('webfont.woff') format('woff'), /* Modern Browsers */
       url('webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
       url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}

Mã này giả sử bạn có định dạng .eot, .woff, .ttf và svg cho webfont. Để tự động hóa tất cả quá trình này, bạn có thể sử dụng: Transfonter.org .

Ngoài ra, các trình duyệt hiện đại đang chuyển sang phông chữ .woff, vì vậy bạn cũng có thể làm điều này:

@font-face {
  font-family: 'MyWebFont';
  src: url('myfont.woff') format('woff'), /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
   url('myfont.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5, Opera 10+, Safari 3—5 */
}  

Đọc thêm tại đây: http://css-tricks.com/snippets/css/using-font-face/


Tìm kiếm hỗ trợ trình duyệt: Tôi có thể sử dụng fontface không


và nếu bạn đang sử dụng GFonts kiểm tra stackoverflow.com/a/30585464/1727470
Samy bencherif

1
Đối với những người như tôi những người bị lẫn lộn một cách dễ dàng - đường dẫn là với dấu gạch chéourl('path/to/font.woff')
wunth

Tôi gặp sự cố với nhận xét trong quy tắc phông chữ. Di chuyển các nhận xét đến cuối quy tắc đã khắc phục sự cố.
Eric D'Souza,

Tôi thấy rằng phông chữ tôi muốn tạo phông chữ web cho nó đã bị đưa vào danh sách đen từ Font Squirrel. Tuy nhiên, transfonter.org đã làm việc cho tôi.
HotN

Tôi cũng gặp rắc rối với Font Squirrel. thành công với font-converter.net
Peter Hayman


14

Bạn có thể sử dụng phông chữ như sau:

@font-face {
  font-family:"Name-Of-Font";
  src: url("yourfont.ttf") format("truetype");
}

3

Tôi biết đây là một bài viết cũ nhưng điều này đã giải quyết được vấn đề của tôi.

@font-face{
  font-family: "Font Name";
  src: url("../fonts/font-name.ttf") format("truetype");
}

lưu ý rằng src:url("../fonts/font-name.ttf");chúng tôi sử dụng hai dấu chấm để quay lại thư mục gốc và sau đó vào thư mục phông chữ hoặc bất kỳ nơi nào tệp của bạn được đặt.

hy vọng điều này sẽ giúp ai đó xuống dòng :) chúc mừng mã hóa

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.