4

我必须在一个 Rails 应用程序中使用 Google 的字体。普通的 HTML 代码定义了 googlefonts 的用法,如下所示:

<link href='http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic' rel='stylesheet' type='text/css'>

我试图在我的 alpplication.html.erb 中添加相同的行,但它不起作用。然后我将@font-face 定义(从link-href 指向的位置)提取到一个单独的css.scss 文件中,并将该文件包含在我的清单css 文件中:

#googlefonts.css.scss
@font-face {
font-family: 'PT Sans';
font-style: italic;
font-weight: 400;
src: local('PT Sans Italic'), local('PTSans-Italic'), url(http://themes.googleusercontent.com/static/fonts/ptsans/v4/xxxx.woff) format('woff');

}

#application.css

   *= require googlefonts
   *= require_tree .

它没有再次发生。

请帮我解决这个难题。在 Rails 3 应用程序中使用 Google 托管的字体的最佳做法是什么?

编辑:这是我的 css,指的是@font-face 定义:

#styles.css.scss
body{
font-family: "PT Sans", Arial, Helvetica, sans-serif;
font-size:13px;
line-height:25px;
text-shadow:none !important;
color:#444;
}
4

2 回答 2

4

使用您的示例代码,以下内容对我来说很好:

# stick this inside the head section of application.html.erb 
<link href='http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic' rel='stylesheet' type='text/css'>

# stick this in your css file:
body{
  font-family: "PT Sans", Arial, Helvetica, sans-serif;
}

这就是你所需要的,它工作得很好。我建议放弃 googlefonts.css.scss 文件,除非您有要提供的字体的本地副本。无论如何,谷歌为您提供的链接实际上会为您处理该代码,请自行查看

于 2012-12-09T19:39:45.263 回答
1

我想我发现了问题:

炼油厂有部分头部,位于炼油厂/目录。这个部分的格式是 .erb (default) 。我的 application.html 是 .haml 格式。当我将 _head.thml.erb 转换为 _head.html.haml 时,效果很好。设置 google 字体很简单,就像 Stephenmurdoch 在他的回答中描述的那样。

于 2012-12-09T21:24:42.463 回答