如何使用CSS包含.ttf字体?


119

我的代码有问题。因为我要为页面包括全局字体,所以我下载了.ttf文件。我将其包含在我的主要CSS中,但字体不会改变。

这是我的简单代码:

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

我不知道我哪里出了错。你能帮我吗?谢谢。


1
您可以检查浏览器控制台中的“网络”选项卡以确保正确加载字体吗?
rink.attendant.14年


1
您确定拼写正确的字体文件名吗?不是oswald.regular.ttf吗?

1
是的,我仔细检查了我的字体名称
Jerielle 2014年

5
@Jerielle因此,您拥有扩展名为TTF的TTF字体tff?您真的确定吗?

Answers:


173

仅为webfont提供.ttf文件不足以支持跨浏览器。目前最好的组合是使用以下组合:

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

此代码假定您的webfont具有.eot,.woff,.ttf和svg格式。要使所有这些过程自动化,可以使用:Transfonter.org

另外,现代的浏览器正在向.woff字体转移,因此您也可以这样做::

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

在此处阅读更多信息:http : //css-tricks.com/snippets/css/using-font-face/


寻找浏览器支持:我可以使用字体吗


如果您使用的是GFonts,请查看stackoverflow.com/a/30585464/1727470
Samy Bencherif '17

1
对于那些像我这样谁很容易被混淆-路径是用斜杠url('path/to/font.woff')
wunth

我在字体规则中的注释有问题。将注释移至规则末尾可解决此问题。
Eric D'Souza

我发现我想为其生成网络字体的字体已从Font Squirrel列入黑名单。但是,transfonter.org为我工作。
HotN

我还遇到了松鼠字体。font-converter.net获得成功
Peter Hayman


14

您可以像这样使用字体:

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

3

我知道这是旧帖子,但这解决了我的问题。

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

请注意,src:url("../fonts/font-name.ttf");我们使用两个句点返回到根目录,然后返回到fonts文件夹或文件所在的位置。

希望这可以帮助某人:)快乐编码

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.