首页 > 代码库 > SCSS是什么

SCSS是什么

SCSS即是SASS的新语法,是Sassy CSS的简写,是CSS3语法的超集,也就是说所有有效的CSS3样式也同样适合于SASS。

SASS是CSS3的一个扩展,增加了规则嵌套、变量、混合、选择器继承等等。通过使用命令行的工具或WEB框架插件把它转换成标准的、格式良好的CSS代码。

 1 例如:
 2 
 3 ———————————
 4 
 5 在SCSS中使用变量
 6 
 7 ———————————
 8 
 9 $blue: #3bbfce;
10 
11 $margin: 16px;
12 
13 .content-navigation {
14 
15 border-color: $blue;
16 
17 color:
18 
19 darken($blue, 9%);
20 
21 }
22 
23 .border {
24 
25 padding: $margin / 2;
26 
27 margin: $margin / 2;
28 
29 border-color: $blue;
30 
31 }
32 
33 转换成CSS如下:
34 
35 /* CSS */
36 
37 .content-navigation {
38 
39 border-color: #3bbfce;
40 
41 color: #2b9eab;
42 
43 }
44 
45 .border {
46 
47 padding: 8px;
48 
49 margin: 8px;
50 
51 border-color: #3bbfce;
52 
53 }
嵌套

table.hl {


margin: 2em 0;


td.ln {


text-align: right;


}


}


li {


font: {


family: serif;


weight: bold;


size: 1.2em;


}


}


转换成CSS如下:


/* CSS */


table.hl {


margin: 2em 0;


}


table.hl td.ln {


text-align: right;


}


li {


font-family: serif;


font-weight: bold;


font-size: 1.2em;


}

 
 1 基本用法
 2 
 3  变量
 4 
 5 SASS允许使用变量,所有变量以$开头。
 6 
 7     $blue : #1875e7;
 8 
 9     div {
10     color : $blue;
11     }
12 
13 如果变量需要镶嵌在字符串之中,就必须需要写在#{}之中。
14 
15     $side : left;
16 
17     .rounded {
18     border-#{$side}-radius: 5px;
19     }
20 
21  计算功能
22 
23 SASS允许在代码中使用算式:
24 
25     body {
26     margin: (14px/2);
27     top: 50px + 100px;
28     right: $var * 10%;
29     }
30 
31  嵌套
32 
33 SASS允许选择器嵌套。比如,下面的CSS代码:
34 
35     div h1 {
36     color : red;
37     }
38 
39 可以写成:
40 
41     div {
42     hi {
43     color:red;
44     }
45     }
46 
47 属性也可以嵌套,比如border-color属性,可以写成:
48 
49     p {
50     border: {
51     color: red;
52     }
53     }
54 
55 注意,border后面必须加上冒号。
56 
57 在嵌套的代码块内,可以使用$引用父元素。比如a:hover伪类,可以写成:
58 
59     a {
60     &:hover { color: #ffb3ff; }
61     }
62 
63  注释
64 
65 SASS共有两种注释风格。
66 
67 标准的CSS注释 /* comment */ ,会保留到编译后的文件。
68 
69 单行注释 // comment,只保留在SASS源文件中,编译后被省略。
70 
71/*后面加一个感叹号,表示这是”重要注释”。即使是压缩模式编译,也会保留这行注释,通常可以用于声明版权信息。
72 
73     /*!
74     重要注释!
75     */

自定义函数

@function double($n){
@return $n*2;
}
#sidebar{
width:double(5px);
}

 

SCSS是什么