关于CSS:如何一次导入bootstrap-sass并在多个文件中使用它?

How do I import bootstrap-sass once and use it in several files?

在文档中,您可以阅读以下内容:

将Bootstrap导入Sass文件(例如,application.css.scss)中,以获取Bootstrap的所有样式,mixin和变量!

1
@import"bootstrap";

https://github.com/twbs/bootstrap-sass

我有几个scss文件。我的应用程序的每个主要部分(user-page.scss,admin.scsss等)一个。

我尝试制作一个application.scss并像文档中那样导入了引导程序。我在bootstrap.scss之后,所有其他scss文件之前将文件添加到了index.html中。

1
2
3
4
<link rel="stylesheet" href="bower_components/bootstrap-sass-official/assets/stylesheets/_bootstrap-compass.scss" />
<link rel="stylesheet" href="styles/application.css">
<link rel="stylesheet" href="styles/intro.css">
<link rel="stylesheet" href="styles/admmin.css">

我收到以下错误:

1
2
/usr/bin/scss --no-cache --update intro.scss:intro.css
      error intro.scss (Line 22: Undefined mixin 'make-row'.)

因此,似乎找不到引导程序。如果我在每个文件中导入引导程序,它将起作用。这是正确的方法吗?我想不是。我尝试手动覆盖引导程序变量时遇到问题。

我怎么有几个scss文件,并且只导入一次引导程序?


认为您正在将SCSS导入与HTML CSS链接混合在一起。所以这是错误的:

1
2
3
4
<link rel="stylesheet" href="bower_components/bootstrap-sass-official/assets/stylesheets/_bootstrap-compass.scss" />
<link rel="stylesheet" href="styles/application.css">
<link rel="stylesheet" href="styles/intro.css">
<link rel="stylesheet" href="styles/admmin.css">

我认为这来自您构建的HTML文件。您的HTML不知道什么是SCSS文件。必须先将SCSS处理成CSS文件,然后才能在最终HTML文件中使用。

导入SCSS文件的方法是在顶部父SCSS文件中使用该import命令。因此,如果您的主要SCSS文件是application.scss,则在其顶部,您将导入其他SCSS文件:

1
@import"bootstrap";

但是您需要确保_bootstrap.scss文件与application.scss文件位于同一目录中,此导入才能起作用。