新手问题 用不了 scss 的变量和 mixin 一般是什么原因?

lufeihaidao · 2013年04月21日 · 最后由 Rei 回复于 2013年04月22日 · 4374 次阅读

用的是 bootstrap-sass gem,css 可以用,但是变量和 mixin 都无效,请问是一般是什么原因?

是不是只要添加 compass gem 就行了?

有改文件后缀名么。。?

用的是 bootstrap-sass gem,css 可以用,但是变量和 mixin 都无效,请问是一般是什么原因?

楼主你告诉我一下这么点信息要怎么推测问题?

最低限度是不是要把你做了什么贴出来?

@Rei https://github.com/RailsApps/rails3-bootstrap-devise-cancan 请看这个项目。我在本地得到拷贝后(用的是 composer 方法),在 home 页面添加内容。并自己在 stylesheet 文件夹里新建了 home.css.scss,在这里使用变量和 mixin 都无效。我知道我描述的比较无力,但是因时间紧急想从这个 app 直接开是我的工作,所以细节我也不是很清楚,抱歉哈

#4 楼 @lufeihaidao 我看了之后,觉得是 home.css.scss 里面 require 顺序或者代码有问题。我知道我描述的比较无力,但是我看不到代码,所以细节我也不是很清楚,抱歉哈。

@Rei home.css.scss 还要 require 代码?我直接就开写了啊。这个文件的注释说这部分会被自动加到 application.css 里?

#6 楼 @lufeihaidao 从 5 楼你没有提取到更多信息吗?

#7 楼 @Rei 当然提取到了……我之前在实验室做的,现在回到寝室没法复制……但是我确定我的 home.css 是直接开写没有 require 的。

#8 楼 @lufeihaidao 你写了什么变量和什么 mixin,怎么调用的,顺序有没有问题。你问了这么多新手问题了为什么还不懂得

Show me the code and explain what you want to do?

奥,很好,你需要一个答案,但是你已经放下了你的工作,留给我们一个解不开的谜题,希望你能找到答案,生活愉快。

吓尿了 rei 是不是刚刚回复过我这种描述不明的问题口气这么冲。问题已解决。前述我的 home.css.scss 文件中没有 require 任何内容,这就是原因,我以为既然包含 @import "bootstrap" 的内容的文件已经被 require 进来了,那么 home.css.scss 就不需要再 @import "bootstrap" 了,但是这句似乎必须加。我是在本地直接 rails new 项目的尝试中找到答案的。application.css 中 require 了 1.css 2.css 3.css 三个文件,1.css import 了 bootstrap,如果 2 或者 3 用到内置变量,那么也必须 @import "bootstrap" 。我猜 rei 是以为我是自定义的变量和 mixin,而我没说清我是要用自带的变量都不可行。

application.css 里面用了

require_tree .

它的载入顺序就是不确定的,并且 require 已经是编译后的代码,不能再调用变量和 mixin。

如果 application.css 这样写

@import 'bootstrap_and_overrides' @import 'home‘

那么 home 里面就可以调用 bootstrap 里的变量和 mixin。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号