Come includere un font .ttf usando CSS?


120

Ho un problema con il mio codice. Perché voglio includere un carattere globale per la mia pagina e ho scaricato un file .ttf. E lo includo nel mio CSS principale ma il mio carattere non cambierà.

Ecco il mio semplice codice:

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

Non so dove ho sbagliato. Puoi aiutarmi con questo? Grazie.


1
Puoi controllare la scheda Rete nella console del browser per assicurarti che il carattere sia caricato correttamente?
— rink.attendant.6

Get woff da qui
— Mr. Alien

1
Sei sicuro di aver digitato correttamente il nome del file del carattere? Non dovrebbe essere oswald.regular.ttf?

1
Sì, ho ricontrollato il nome del mio carattere
— Jerielle

5
@ Jerielle Quindi hai un font TTF con un'estensione di tff? Ne sei davvero sicuro?

Risposte:


174

Fornire solo file .ttf per webfont non sarà sufficiente per il supporto cross-browser. La migliore combinazione possibile al momento sta usando la combinazione come:

@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 */
}

Questo codice presuppone che tu abbia i formati .eot, .woff, .ttf e svg per il tuo webfont. Per automatizzare tutto questo processo, puoi utilizzare: Transfonter.org .

Inoltre, i browser moderni si stanno spostando verso il carattere .woff, quindi probabilmente puoi farlo anche tu::

@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 */
}  

Maggiori informazioni qui: http://css-tricks.com/snippets/css/using-font-face/


Cerca il supporto del browser: Posso usare il fontface


e se si sta utilizzando GFonts controllare stackoverflow.com/a/30585464/1727470
— Samy Bencherif

1
Per quelli come me che si confondono facilmente - i percorsi sono con barre in avantiurl('path/to/font.woff')
— wunth

Ho avuto un problema con i commenti nella regola del tipo di carattere. Spostare i commenti alla fine della regola ha risolto il problema.
— Eric D'Souza

Ho scoperto che il font per cui volevo generare un font web era nella lista nera di Font Squirrel. Tuttavia, transfonter.org ha funzionato per me.
— HotN

Ho anche avuto problemi con Font Squirrel. successo con font-converter.net
— Peter Hayman


14

Puoi usare il tipo di carattere in questo modo:

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

3

So che questo è un vecchio post ma questo ha risolto il mio problema.

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

notare src:url("../fonts/font-name.ttf");che usiamo due punti per tornare alla directory principale e quindi nella cartella dei caratteri o ovunque si trovi il file.

spero che questo aiuti qualcuno su tutta la linea :) felice programmazione

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.