Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Sass @import 和 Partials


Sass 使 CSS 代码保持 DRY(Don't Repeat Yourself,不要重复自己)。编写 DRY 代码的一种方法是将相关代码保存在单独的文件中。

您可以创建包含 CSS 代码片段的小文件,并将其包含在其他 Sass 文件中。此类文件的示例可以是:重置文件、变量、颜色、字体、字体大小等。


Sass 导入文件

就像 CSS 一样,Sass 也支持 @import 指令。

@import 指令允许您将一个文件的内容包含到另一个文件中。

CSS 的 @import 指令由于性能问题存在一个主要缺点;每次调用它都会创建一个额外的 HTTP 请求。但是,Sass 的 @import 指令将文件包含在 CSS 中;因此在运行时不需要额外的 HTTP 调用!

Sass 导入语法

@import 文件名;

提示:您无需指定文件扩展名,Sass 自动假设您指的是 .sass 或 .scss 文件。您也可以导入 CSS 文件。@import 指令导入文件,然后可以在主文件中使用导入文件中定义的任何变量或混合。

您可以在主文件中导入任意数量的文件

示例

@import "variables";
@import "colors";
@import "reset";

让我们来看一个例子:假设我们有一个名为“reset.scss”的重置文件,它看起来像这样

示例

SCSS 语法 (reset.scss)

html,
body,
ul,
ol {
  margin: 0;
  padding: 0;
}

现在我们想将“reset.scss”文件导入另一个名为“standard.scss”的文件中。

以下是我们的操作方法:通常在文件顶部添加 @import 指令;这样它的内容将具有全局作用域

SCSS 语法 (standard.scss)

@import "reset";

body {
  font-family: Helvetica, sans-serif;
  font-size: 18px;
  color: red;
}

因此,当“standard.css”文件被编译时,CSS 将如下所示

CSS 输出

html, body, ul, ol {
  margin: 0;
  padding: 0;
}

body {
  font-family: Helvetica, sans-serif;
  font-size: 18px;
  color: red;
}

运行示例 »



Sass 部分文件 (Partials)

默认情况下,Sass 会直接编译所有 .scss 文件。但是,当您要导入文件时,您不需要文件被直接编译。

Sass 有一个机制来解决这个问题:如果文件名以下划线开头,Sass 不会编译它。以这种方式命名的文件在 Sass 中称为部分文件 (partials)。

因此,部分 Sass 文件以一个前导下划线命名

Sass 部分文件语法

 _文件名;

以下示例显示了一个名为“_colors.scss”的部分 Sass 文件。(此文件不会直接编译为“colors.css”)

示例

“_colors.scss”

$myPink: #EE82EE;
$myBlue: #4169E1;
$myGreen: #8FBC8F;

现在,如果您导入部分文件,请省略下划线。Sass 理解它应该导入文件“_colors.scss”

示例

@import "colors";

body {
  font-family: Helvetica, sans-serif;
  font-size: 18px;
  color: $myBlue;
}


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.