我的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促使我添加通用字体回调。作为最后的选择,我可以禁用,取消或忽略此检查。
但是,在其他团队中,可能有关于代码约定的严格规则,甚至可能是一种如果不遵守就阻止提交的机制。
或者如果我是代码检查工具的作者,或者在定义要在项目中使用的编码约定的过程中怎么办?然后,我绝对想知道执行此操作的“正确”或最明智的方法:)
答案 0 :(得分:4)
正如评论中所讨论的,这是一个虚假警告。
正如您自己指出的那样,没有适合作为图标字体后备的通用字体系列 - 也不可能有,因为图标字体没有标准化。
相关规范(CSS 字体模块级别 3)仅 lists the following generic families:
这些都不适合 - 因为它们都明确不适用于图标/图片字体。
所以你可能应该找到一种方法来抑制警告。理想情况下,系统将允许您添加应禁止警告的字体列表(例如图标字体)。否则,您只需完全取消警告即可。
旁注:仅当您想使用安装在用户计算机上的字体时才真正需要后备字体 - 例如像 Arial 这样的标准 Windows 字体。在这种情况下,您需要回退,因为您无法确定用户安装了什么。
如果您使用浏览器可以下载的网络字体,则永远不需要后备字体。如果字体下载失败,包含它仍然很好,但恕我直言不那么重要。
答案 1 :(得分:1)
您可以添加“幻想”:
.my-icon {
font-family: 'my-icon-font', fantasy;
}