Fonts @font-face真的可以强制自定义字体显示并覆盖用户';谁的选择?

Fonts @font-face真的可以强制自定义字体显示并覆盖用户';谁的选择?,fonts,font-face,Fonts,Font Face,嗨 我最近遇到了@font-face,当我读到我们网络开发者终于有了一种方法,可以在任何浏览器/计算机上为所有用户显示自己的字体,而不管他们的浏览器设置和是否安装了字体时,我真的很兴奋。然而,我还没有找到一个有效的例子。我试着自己去实现它,但它也不起作用,所以有什么问题吗?这是我的代码: @font-face { font-family: DeliciousRoman; src: local('DeliciousRoman'), url('font.ttf') format('t

我最近遇到了@font-face,当我读到我们网络开发者终于有了一种方法,可以在任何浏览器/计算机上为所有用户显示自己的字体,而不管他们的浏览器设置和是否安装了字体时,我真的很兴奋。然而,我还没有找到一个有效的例子。我试着自己去实现它,但它也不起作用,所以有什么问题吗?这是我的代码:

@font-face {
    font-family: DeliciousRoman;
    src: local('DeliciousRoman'), url('font.ttf') format('truetype');
}

span {
    font-family: 'DeliciousRoman', sans-serif;
}

<span>example</span>
@font-face{
字体系列:DeliciousRoman;
src:local('DeliciousRoman')、url('font.ttf')格式('truetype');
}
跨度{
字体系列:“DeliciousRoman”,无衬线;
}
例子
显示的字体为普通浏览器字体。这是@font-face的限制还是我的代码


谢谢。

这里有两个问题,我将尝试回答这两个问题:

首先,@font-face不会强制用户使用字体。根据该页面:

@font-face CSS at规则允许作者指定在线字体,以便在其网页上显示文本。通过允许作者提供自己的字体,@font-face无需依赖用户在其计算机上安装的有限数量的字体。@font-face at规则不仅可以在CSS的顶层使用,还可以在任何CSS条件组at-rule中使用

所以@font-face只提供了一个新的字体定义。如果浏览器已将样式设置为替代字体,则该样式仍将被替代


其次,就您的实现而言,一切似乎都很好。也许您应该检查是否正确引用了正在加载的字体文件。“font.tff”是正确的名称吗?它是否与此代码所在的文件位于同一目录中?您的浏览器是否覆盖字体?您使用的浏览器是否支持@font-face?

是的,我使用firefox,但现在我意识到“允许网页使用其字体”选项未选中。但我猜它不是默认选中的,对吗?如果是这样的话,那么“脸型”就没什么用了。但是我的代码在选中选项后仍然无法工作。你说的“最终”是什么意思?这是我们多年来一直能够做到的事情,也是任何主要网站都已经做到的事情。“通用”WOFF格式已经存在三年了,在此之前,我们已经能够使用webfonts作为捆绑格式@font face规则。看起来它毕竟不是“最终”,因为仍然不可能覆盖每个用户的偏好。至少对于@face font来说,唯一可靠的方法是使用javascript。是的,这是正确的:这是他们的计算机,如果他们有明确的、禁止使用hammer样式的覆盖,这些应该会生效。这是他们的电脑。然而,对于普通会话,而不是用户覆盖、用户样式覆盖、辅助功能覆盖会话,@font-face规则将完全执行它们应该执行的操作。如果语法和CSS规则优先级正确。即使使用JavaScript,我的浏览器的首选项也会赢,因为它是我的计算机。但是JavaScript是大多数页面工作所必须的。如果你禁用它,你将无法浏览90%的互联网,因此用户不太可能禁用它,这与“允许页面选择自己的字体”不同。所以我想我会坚持使用cufon字体,因为它会覆盖这个选项。然而,JS对于自定义字体也不重要,因为它是由CSS控制的。你说这是必须的,我不同意这种说法,没有指标我们一点也不明智。但是,如果没有JS就无法呈现内容,那么web开发就错了。学习自我逐步提升。