我有一个问题。我想使用自定义字体,得到了.woff,.woff2,.eot,.ttf,.svg等等。所有这些文件都位于名为"fonts"的文件夹中。
我尝试通过@font脸访问它们,但网站上没有显示字体。所以我在一个空白页面上尝试了它,这样就不会有引导 css 或其他任何东西干扰,但问题仍然没有解决。
这是我的 CSS
@font-face {
font-family: 'Bauhaus93'
src:
url('/fonts/BAUHS93.woff')
format('woff'),
url('/fonts/BAUHS93.woff2')
format('truetype');
}
这是我的 html,我还在其中放入了 Google 网络字体以检查托管字体是否也会被忽略。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="/css/style.css" type="text/css">
<link href='https://fonts.googleapis.com/css?family=Montserrat' rel='stylesheet'>
<title>Hello, world!</title>
</head>
<body>
<h1>Hello, world!</h1>
<p style="font-family: 'Montserrat'">TEST text test </p>
<p style="font-family: 'Bauhaus93'">TEST text test </p>
</body>
</html>
如果您的字体位于同一子文件夹中,请删除url()
开头的/
。
如果您的字体文件夹不在子文件夹中,则需要../
,而不仅仅是/
在url()
的前面。每个../
向后移动 1 个文件夹,以便您可以通过这种方式找到字体文件夹。
例如:
url('../fonts/BAUHS93.woff') format('truetype');
问题是你在那里使用了错误的语法。您应该删除正斜杠。 当您的字体位于当前 Web 根目录的 fonts 文件夹中时,将使用/
。
好的,我没有看到您在评论中提供的文件路径。我会编辑我的答案。文件路径: 文件夹/字体/BAUHS93.woff;Folder/test.html;文件夹/css/样式.css;
这个语法是错误的——
url('/fonts/BAUHS93.woff')
改成这样——
url('../fonts/BAUHS93.woff')
当文件位于距当前文件夹上一级的文件夹中时,应使用此选项
或者,您可以链接HTML中的字体-
<link href="fonts/BAUHS93.woff" rel="stylesheet">
只需在 CSS 中使用font-family: 'Bauhaus93';
但是你说即使这样也行不通。如果没有,您应该检查名称和路径,或者您可以尝试链接 Web 字体。您的文件可能存在一些错误,或者您可能使用的名称与字体文件中定义的名称不同。
我还看到您在HTML文件中链接了蒙特塞拉特,并且该字体应该可以工作。如果即使网络字体也没有,您应该尝试在样式标签中添加分号-style="font-family: 'Montserrat';"
,即使它不应该有什么区别,因为 css 通常会忽略分号的缺失。