css @font-family 在什么情况下应该指定格式?

css @font-family in what cases should I specify format?

我是 IT 新手,现在正在学习 CSS。

对于一个可能已经被问过很多次的愚蠢问题,我深表歉意 - 但我自己已经尝试了大约两三个小时来寻找答案,但没有成功。所以我决定在这里问这个问题。

我正在尝试了解如何在 css 文件中定义自定义字体。这就是我所拥有的:

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

h1 {
    font-family: "Christmasscript", sans-serif;
}

而且效果很好。

但是如果我不指定格式:

@font-face {
    font-family: "Christmasscript";
    src: url("fonts/christmasscriptc.ttf");
}

它也有效。

所以我的问题是 - 我应该什么时候指定格式? 这种情况表明,并不总是需要“格式”属性 才能使事情正常进行。 但是如果这个属性存在,在某些情况下肯定需要它,对吧? 你能帮帮我吗?

即使您没有指定它,它也能正常工作,因为网络使用 WOFFWOFF 2.0,它们基本上是建立在 truetype 上的,并且它是两者最常见的字体格式Mac OS 和 Microsoft Windows 操作系统。

所以字体格式主要分为三种:

1-桌面格式:可用于需要本地可安装字体的所有内容。

2-Web格式:可用于所有类型的网站。

3-专有格式:仅包含在为其设计的应用程序中。

So keep in mind that not all fonts formats will work on the web.

这里是Browser Support for Font Formats

根据 MDN web docsformat6 种可用类型 它们是 (woffwoff2truetypeopentypeembedded-opentypesvg)

假设您下载了 woff 类型的字体,并指定格式为例如 svg,它将不起作用。