8

我正在使用 bootstrap-sass 和 font-awesome ( https://github.com/littlebtc/font-awesome-sass-rails ) 宝石。我想从 font-awesome 覆盖引导字体设置。

从 font-awesome 的网站我可以覆盖引导默认值,如果我只是在引导导入之后导入。

@import 'bootstrap';
@import 'font-awesome';

我已经完成了上述操作,但是 font-awesome 的字体并没有被覆盖。我已将我的项目推送到 github - https://github.com/murtaza52/rails-base。该网址可在 localhost:3000/posts 上访问

如果有人可以帮助我用 font-awesome 的字体覆盖引导程序的默认字体,我将不胜感激

4

3 回答 3

11

修改你application.css.scss的样子如下

@import "font-awesome";
$baseFontFamily: 'FontAwesome';
@import "bootstrap";

...

@import "bootstrap-responsive";
//@import "scaffolds";
@import "posts";

为什么?

  1. import "font-awesome"在顶部移动然后定义baseFontFamily,因为这是 bootstrap 用来font-family为所有元素定义的内容。检查中间的排版和链接块。如果您import bootstrap在此之后,FontAwesome将默认使用。
  2. 您应该删除import "scaffolds";行,因为scaffolds.css.scss它将重置您的字体系列,body该元素将被所有其他元素继承。

如果您无法避免在引导之前导入它。我希望这会有所帮助。

于 2012-08-05T12:40:33.963 回答
1

对于那些使用 Bootstrap 3.2+(我猜)的人,这里是您可以修改的 SASS 变量列表:

https://github.com/twbs/bootstrap-sass/blob/master/assets/stylesheets/bootstrap/_variables.scss

在我们的例子中,我们要确保$font-family-base在做之前定义@import "bootstrap"

通过$font-family-base在到达下面的行之前设置,Bootstrap 使用我们的$font-family-base代替(否则,它默认为$font-family-base-serif,也在variables.scss上面定义)。

$font-family-base: $font-family-sans-serif !default;

这就是我的 application.css.sass 的样子

/*
 *= require_tree .
 *= require_self
 */

@import "fonts"
@import "compass"
@import "bootstrap"

而且我有以下内容_fonts.css.sass(您不必将其放在单独的文件中)

$font-family-sans-serif: 'Roboto', verdana, arial, sans-serif

于 2014-08-01T12:03:48.890 回答
0

我不知道这是否对您有帮助,但至少有时当模板代码看起来有效时,您需要使用 ctrl+shirt+r 强制刷新浏览器以查看更改(至少在 mozilla 中有效)。

于 2012-08-02T20:57:23.930 回答