Como incluir uma fonte .ttf usando CSS?


120

Tenho um problema com meu código. Porque desejo incluir uma fonte global para minha página e baixei um arquivo .ttf. E eu incluo no meu CSS principal, mas minha fonte não muda.

Este é meu código simples:

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

Não sei onde errei. Você pode me ajudar com isto? Obrigado.


1
Você pode verificar a guia Rede no console do navegador para garantir que a fonte seja carregada corretamente?
rink.attendant.6


1
Tem certeza de que digitou o nome do arquivo da fonte corretamente? Não deveria ser oswald.regular.ttf?

1
Sim, verifiquei duas vezes o nome da minha fonte
Jerielle

5
@Jerielle Então você tem uma fonte TTF com a extensão tff? Você está realmente certo sobre isso?

Respostas:


174

Fornecer apenas um arquivo .ttf para webfont não será bom o suficiente para suporte para vários navegadores. A melhor combinação possível no momento é usar a combinação como:

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

Este código assume que você tem os formatos .eot, .woff, .ttf e svg para sua webfont. Para automatizar todo esse processo, você pode usar: Transfonter.org .

Além disso, os navegadores modernos estão mudando para a fonte .woff, então você provavelmente também pode fazer isso::

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

Leia mais aqui: http://css-tricks.com/snippets/css/using-font-face/


Procure suporte para navegador: Posso usar o fontface


e se você estiver usando GFonts, confira stackoverflow.com/a/30585464/1727470
Samy Bencherif

1
Para aqueles como eu, que se confundem facilmente - caminhos são com barrasurl('path/to/font.woff')
wunth

Tive um problema com comentários na regra da fonte. Mover os comentários para o final da regra corrigiu o problema.
Eric D'Souza

Descobri que a fonte para a qual eu queria gerar uma fonte da web estava na lista negra do Font Squirrel. No entanto, transfonter.org funcionou para mim.
HotN

Eu também tive problemas com o Font Squirrel. sucesso com font-converter.net
Peter Hayman


14

Você pode usar a face da fonte assim:

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

3

Eu sei que este é um post antigo, mas isso resolveu meu problema.

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

observe src:url("../fonts/font-name.ttf");que usamos dois pontos para voltar ao diretório raiz e, em seguida, para a pasta de fontes ou onde quer que seu arquivo esteja localizado.

espero que isso ajude alguém no futuro :) feliz codificação

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.