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 变量


Sass 变量

变量是一种存储信息的方式,以便以后重复使用。

使用 Sass,您可以将信息存储在变量中,例如

  • 字符串
  • 数字
  • 颜色
  • 布尔值
  • 列表
  • 空值

Sass 使用 $ 符号,后跟名称,来声明变量

Sass 变量语法

$变量名: ;

以下示例声明了 4 个名为 myFont、myColor、myFontSize 和 myWidth 的变量。声明变量后,您可以在任何需要的地方使用这些变量

SCSS 语法

$myFont: Helvetica, sans-serif;
$myColor: red;
$myFontSize: 18px;
$myWidth: 680px;

body {
  font-family: $myFont;
  font-size: $myFontSize;
  color: $myColor;
}

#container {
  width: $myWidth;
}

运行示例 »

因此,当 Sass 文件被编译时,它会获取变量(myFont、myColor 等),并输出包含变量值的普通 CSS,如下所示

CSS 输出

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

#container {
  width: 680px;
}



Sass 变量作用域

Sass 变量仅在其定义的嵌套级别可用。

请查看以下示例

SCSS 语法

$myColor: red;

h1 {
  $myColor: green;
  color: $myColor;
}

p {
  color: $myColor;
}

运行示例 »

文本在 <p> 标签内的颜色是红色还是绿色?它是红色的!

另一个定义 $myColor: green; 在 <h1> 规则内,并且仅在该处可用!

因此,CSS 输出将是

CSS 输出

h1 {
  color: green;
}

p {
  color: red;
}

好的,这是变量作用域的默认行为。


使用 Sass !global

可以使用 !global 开关覆盖变量作用域的默认行为。

!global 指示变量是全局的,这意味着它可以在所有级别访问。

请查看以下示例(与上面相同;但添加了 !global

SCSS 语法

$myColor: red;

h1 {
  $myColor: green !global;
  color: $myColor;
}

p {
  color: $myColor;
}

运行示例 »

现在,文本在 <p> 标签内的颜色将为绿色!

因此,CSS 输出将是

CSS 输出

h1 {
  color: green;
}

p {
  color: green;
}

提示:全局变量应在任何规则之外定义。明智的做法是在其自己的文件中定义所有全局变量,命名为“_globals.scss”,并使用 @include 关键字包含该文件。


×

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.