CSS @font-face 不工作?

CSS @font-face not working?

在我的 HTML:

<!DOCTYPE html>

<head>

    <link type="text/css" rel="stylesheet" href="add_ons/style_sheets/style.css" />

</head>

<body>

    <div id="header">
        <p id ="text" >BALL</p>
    </div>

<body>

在 css 我试过:

@font-face {
font-family: 'Pier';
src: url('add_ons/sources/fonts/Pier.woff2') format('woff2');
src: url('add_ons/sources/fonts/Pier.woff') format('woff');
src: url('add_ons/sources/fonts/Pier.ttf') format('truetype');
}

#text{

    font-family: 'Pier';

}

它没有用,我也尝试删除 format('truetype') 部分并使用 src: url('Path'), url('Path'), url('Path') 但那也没有用。

有人可以向我解释如何将我的自定义字体正确插入网页吗?

P.S.: 我的网页当前不在任何服务器上 我只是从 chrome 47.0 上的计算机打开 html 文件,这可能是原因吗?

我找到答案了!

当你说 url() css 期望完整的 url 而不是相对的。

所以:我使用的是相对于 index.html 的路径,而不是完整的完整路径,所以 src: url('website/add_ons/sources/fonts/regular/Pier.woff2');

你应该使用src: url('C:/Users/Admin/Desktop/website/add_ons/sources/fonts/regular/Pier.woff2');

如果您使用的是网站,您也应该使用完整路径,即http://www.web.com/fonts/font.ttf

最佳做法是始终使用相对 路径而不是绝对路径,以确保它适用于任何域。

根据您的代码,我假设您具有以下结构:

  • 根目录
    • index.html
    • add_ons
      • style_sheets
        • style.css
      • 来源
        • 字体
          • Pier.woff2
          • Pier.woff
          • Pier.ttf

您只需更新 CSS 中的路径即可:

@font-face {
   font-family: 'Pier';
   src: url('add_ons/sources/fonts/Pier.woff2') format('woff2');
   src: url('add_ons/sources/fonts/Pier.woff') format('woff');
   src: url('add_ons/sources/fonts/Pier.ttf') format('truetype');
}

收件人:

@font-face {
   font-family: 'Pier';
   src: url('../sources/fonts/Pier.woff2') format('woff2');
   src: url('../sources/fonts/Pier.woff') format('woff');
   src: url('../sources/fonts/Pier.ttf') format('truetype');
 }