我正在查看包含Twitter Bootstrap in Rails的官方文档,而让我措手不及的项目之一是:
然后,删除所有* = require_self和* = require_tree。陈述
从sass文件。而是使用@import导入Sass文件。
我的问题是,导入其他样式表的正确方法是什么?我会创建其他*.scss
文件,然后使用@import
指令包括它们吗?这就是文档所隐含的含义。在这种情况下,如何导入与使用@import
指令的文件不在同一目录中的文件?
谢谢!
最佳答案
阅读this将使您受益。
这是旧的"backwards compatibility"问题-CSS不支持mixins /变量,因此使用manifest指令将不允许您使用大量功能。SCSS
是preprocessor,这意味着它将运行以将您的SCSS文件“编译”为真正的CSS,先使用mixins和变量,然后将其删除。
-
如果您想使用mixins
和SCSS
的扩展功能的好处,则必须将您的application
文件创建为SCSS
(因为这称为依赖项):
#app/assets/application.scss
@import "bootstrap" -> SCSS file
@import * -> will call all stylesheets in /stylesheets dir (CSS or other)
由于其他CSS文件不需要SCSS进行任何预处理,因此它们将按原样命名。如果需要任何特定的SCSS功能,请change the file extension to
.scss
:资产上使用的文件扩展名确定要应用的预处理。