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;
}複製代碼