Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增长了变量 (variables)、嵌套 (nested rules)、
混合 (mixins)、导入 (inline imports) 等高级功能,这些拓展令 CSS 更增强大与优雅。复制代码
Sass 容许将一套 CSS 样式嵌套进另外一套样式中,内层的样式将它外层的选择器做为父选择器。嵌套功能避免了重复输入父选择器,并且令复杂的 CSS 结构更易于管理:
css
.solidPart { > svg { position: relative; top: 2px; .name { color: #ff7219; } } }复制代码
&符号表明父选择器css3
a { font-weight: bold; text-decoration: none; &:hover { text-decoration: underline; } body.firefox & { font-weight: normal; }}
// 以上&表明a选择器复制代码
&
必须做为选择器的第一个字符,其后能够跟随后缀生成复合的选择器,例如数组
#main {
color: black;
&-sidebar { border: 1px solid; }
}复制代码
.suj { >p { font: { family: fantasy; size: 1em; weight: bold; } color: red; }}复制代码
变量以$开头,赋值方法与css属性方法的写法同样(变量支持做用域)
$r: red;
.suj { >p { font: { family: fantasy; size: 1em; weight: bold; } color: $r; }}复制代码
SassScript 支持 6 种主要的数据类型:sass
1, 2, 13, 10px
"foo", 'bar', baz
blue, #04a3f9, rgba(255,0,0,0.5)
true, false
null
margin: 10px 15px 0 0 或者 font-face: Helvetica, Arial, sans-serif
(key1: value1, key2: value2)
SassScript 也支持其余 CSS 属性值,好比 Unicode 字符集,或 !important
声明。然而Sass 不会特殊对待这些属性值,一概视为无引号字符串。bash
SassScript 支持数字的加减乘除、取整等运算 (+, -, *, /, %
),若是必要会在不一样单位间转换值。ide
+
可用于链接字符串svg
在有引号的文本字符串中使用 #{}
插值语句能够添加动态的值:函数
p:before {
content: "I ate #{5 + 10} pies!";
}复制代码
Sass 拓展了 @import
的功能,容许其导入 SCSS 或 Sass 文件。工具
@import "foo.scss";
复制代码
或url
@import "foo";
@import "foo.css";
@import "foo" screen;
@import "http://foo.com/bar";
@import url(foo);复制代码
.example {
color: red;
}
复制代码
而后导入到 #main
样式内
#main {
@import "example";
}复制代码
将会被编译为
#main .example {
color: red;
}复制代码