Google <head> 或 CSS 中的字体与@import?

Google Fonts in <head> or in CSS with @import?

(我是新来的所以如果这不是问的地方,请告诉我)

通常我将 <link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400,400italic,700' rel='stylesheet' type='text/css'> 添加到我页面的 <head> 中。对于多个页面,总是有机会 inconsistency/error 而且更新每个页面可能会让人头疼。

我可以在 CSS 主文件的第一行使用 @import url(http://fonts.googleapis.com/css?family=Open+Sans); 吗?

这样做的好处是更新一个 CSS 文件,而不是更新 <head> 中的每个页面。但我读过一些答案,说可能存在资源加载问题……但那是 3 年前的讨论了。找不到解决此问题的当前答案。

编辑
为了避免 SO 认为这是重复的,我想问的是 2015 年哪种方法更好。我不是在问如何在任何一种方法下向网站添加 Google 字体。

在css导入就可以了,几年前IE6之类的软件就出过问题(多次导入只加载一个文件),不过你说这是史前的,反正你要要做到这一点真的很好考虑使用一些加载程序,如提到的 here,但是,只要您的网页可以在线访问,导入就可以了。

如果您在 CSS 中使用 @import 规则,浏览器将无法并行下载引用的脚本,因为在进行任何下载之前必须解析携带的脚本!

示例 #1

style1.cssstyle2.css 使用 <link> 标签加载:

示例 #2

style1.css 使用 <link> 标签加载,style2.css 使用 @import 规则加载:

要启用并行下载,请改用 <link> html 标签。

或者,您可以内联 CSS 而根本不使用 @import 规则;样式表预处理器可以帮助您(例如 Sass)。您可以尝试 Node.js 任务运行器 (gulp, grunt) 来自动执行此类任务。