我的应用程序中有Skeleton样板CSS。它位于app/assets/stylesheets中。

app/assets/stylesheets
├── application.css
├── custom.scss
├── normalize.css
└── skeleton.css


Skeleton使用sans-serif字体家族(顶部是Raleway)。我想重写此。

所以我的自定义SCSS文件如下所示:

@import "skeleton";

body {
  font-family: serif;
}

main {
  @extend .container;
}


但是字体仍然是sans-serif。

现在,我相信我的自定义SCSS文件是在Skeleton之前加载的,因为如果没有@import "skeleton",则@extend .container.containter在Skeleton中定义)不起作用。

我试过要求custom.scss最后在application.css中是这样的:

 *= require_tree .
 *= require_self
 *= require custom


并通过Skeleton及其关联的规范化工作表进行如下操作:

 *= require_tree .
 *= require_self
 *= require normalize
 *= require skeleton
 *= require custom


但是,我仍然需要在自定义文件中导入Skeleton,并且不使用!important就无法覆盖字体家族。

到底是怎么回事?我是否可以相信我的自定义样式表已在Skeleton之前加载?如何确保样式表能够持续加载?

最佳答案

一个简单的技巧就是,将样式表重命名为z.css之类的方式-这样,当样式表按字母顺序加载时,它将最终加载。不是正确的方法,而是黑客。

09-25 16:51