CSS:font-family,如果不是一种字体,则根本没有

时间:2011-11-30 18:31:36

标签: css fonts

所以,我知道这对于一个网站来说通常不是一个好主意,但我有这样一个特殊用途/意图:

我有一个多语言词典,我正在网上工作,我需要其中一种语言是特定字体,来自我在本地指定的文件。但是,我希望这种语言只能以这种字体呈现,就像它使用任何其他字体呈现一样,它将呈现错误。这一切都很好,花花公子,我可以用CSS加载文件等等。

但是我想这样做,如果它无法加载该文件,无论是出于某种原因,还是出现问题,都不能转到另一种字体。基本上,使用这种字体渲染这个文本,如果你不能这样做,不要只是尝试使用Arial或任何默认渲染它 - 显示我的块,给我一个鲜明的东西。

我花了一些时间环顾四周,但我不确定CSS中会用到什么。建议/帮助?谢谢:))

4 个答案:

答案 0 :(得分:4)

作为此问题的更新,自2013年4月起,存在Adobe Blank Font,可用于此目的。

您可以使用FontQuirrel WebfontGeneratorAdobe Blank font files构建跨浏览器的CSS。

如果您只需要OpenType格式的字体,可以使用this single css file with the already embedded font

答案 1 :(得分:3)

你不能这样做。文本是文本,文本必须有一个要呈现的字体。如果你真的想要,可能有一些奇怪的JavaScript函数可以检测用于文本的实际字体,如果它与你想要的那个不匹配,那么你可以隐藏它或什么。但最后,您唯一的选择是以一些不起眼的字体显示文本,或者完全隐藏文本。如果文本可见,则 将使用某种字体进行渲染。

你理论上也可以创建自己的字体,其中所有字符都是空白的,但这似乎非常不合逻辑,浪费资源,使人们下载字体只是为了显示无意义的空虚。

答案 2 :(得分:0)

没有“不渲染字体”选项。它是一种字体,需要渲染,否则它在DOM中可视化隐藏。

您可以使用Javascript找出应用于某个块的字体,如果它不是您想要的字体,只需将其隐藏即可。或者显示一条消息。

答案 3 :(得分:0)

另一种解决方案是以某种方式将content指定为空。例如,我试图使用Font Awesome覆盖Webix树显示的+/-字符:

#lhn-tree-container  .webix_tree_open:before {
    content: '';
}

这仅适用于:before:after伪元素。