变量是存储稍后再使用的信息的一种方式,有了存储空间,您能够将信息存储在变量中,好比:css
Sass使用 $ 符号后跟一个名称来声明变量。变量语法:$variablename: value;
code
// HTML 部分 <h1>Hello Xkd</h1> <p>变量</p> <div id="container">这是容器中的一些文本</div> // .scss 语法 // 声明变量 $font1: Helvetica, sans-serif; $color1: green; $fontSize1: 18px; $padding1: 5px 10px; body { font-family: $font1; font-size: $fontSize1; color: $color1; } #container { padding: $padding1; } // .css 输出 // 当编译Sass 文件时,它会获取变量(以上的font一、fontSize一、color一、paddin1等),而后输出正常的普通值,并将这些变量值放在CSS中 body { font-family: Helvetica, sans-serif; font-size: 18px; color: green; padding: 0 50px; } #container { border: 2px red solid; padding: 5px 10px; }
Sass变量仅在定义它们的嵌套级别可用。作用域
// HTML 部分 <h1>Hello Xkd</h1> <p>变量</p> // scss 语法 $myColor: red; h1 { $myColor: green; color: $myColor; } p { color: $myColor; } // css 输出 h1{ color: green; } p{ color: red; }
<p>
标签内的文字颜色不管是红色仍是绿色,它最后显示都会变红。 字符串
另外一个定义是,$ myColor:green;
在 `<h1> 规则内,只有在那里可用,因此它在 css 中的输入如上所示。scss
变量范围的默认行为能够经过使用 !global 开关来覆盖变量做用域。string
!global
表示变量是全局的,这意味着它能够在全部级别上访问。编译
上面一样的例子,咱们给 h1 添加一个 !global
,那么原来定义的 $myColor:red;
这时候就失效了,它的颜色为green。容器
$myColor: red; h1 { $myColor: green !global; color: $myColor; } p { color: $myColor; } // 输出 css h1 { color: green; } p { color: green; }
提示:全局变量应该在任何规则以外定义。变量
明智的作法是在它本身的名为“_globals.scss”的文件中定义全部全局变量,并用@include关键字包含该文件。语法