CSS字体系列回退为图标字体了吗?

时间:2019-06-06 00:00:29

标签: css font-family

我的IDE检查我的CSS文件,并抱怨是否放置了没有通用后备的font-family规则。通常,我必须同意我的IDE,然后我会很高兴地添加字体回调。

示例:

.selector {
  font-family: Arial;  /* IDE complains. */
  font-family: Arial, sans-serif;  /* IDE is happy. */
}

但是,有时font-family是图标字体(我认为fontawesome是其中的一种),而回退实际上没有任何意义。还是呢?

.my-icon {
  font-family: 'my-icon-font';  /* IDE complains. */
  font-family: 'my-icon-font', serif;  /* IDE is happy, but it does not make sense. */
}

问题

是否有任何明智的后备,可以附加到带有图标字体的字体家族规则上?

其他动机

就我而言,主要是我的IDE促使我添加通用字体回调。作为最后的选择,我可以禁用,取消或忽略此检查。

但是,在其他团队中,可能有关于代码约定的严格规则,甚至可能是一种如果不遵守就阻止提交的机制。

或者如果我是代码检查工具的作者,或者在定义要在项目中使用的编码约定的过程中怎么办?然后,我绝对想知道执行此操作的“正确”或最明智的方法:)

2 个答案:

答案 0 :(得分:4)

正如评论中所讨论的,这是一个虚假警告。

正如您自己指出的那样,没有适合作为图标字体后备的通用字体系列 - 也不可能有,因为图标字体没有标准化。

相关规范(CSS 字体模块级别 3)仅 lists the following generic families

  • 衬线
  • 无衬线
  • 草书
  • 幻想
  • 等宽

这些都不适合 - 因为它们都明确不适用于图标/图片字体。

所以你可能应该找到一种方法来抑制警告。理想情况下,系统将允许您添加应禁止警告的字体列表(例如图标字体)。否则,您只需完全取消警告即可。


旁注:仅当您想使用安装在用户计算机上的字体时才真正需要后备字体 - 例如像 Arial 这样的标准 Windows 字体。在这种情况下,您需要回退,因为您无法确定用户安装了什么。

如果您使用浏览器可以下载的网络字体,则永远不需要后备字体。如果字体下载失败,包含它仍然很好,但恕我直言不那么重要。

答案 1 :(得分:1)

您可以添加“幻想”:

.my-icon {
  font-family: 'my-icon-font', fantasy;
}
相关问题