sass结尾的文件有着更严格的格式要求,scss文件更贴近原生css
比如sass文件
CSS Code复制内容到剪贴板 #main color: #fff &-sidebar border: 1px solid等同于scss的
CSS Code复制内容到剪贴板 #main { color: black; &-sidebar { border: 1px solid; } }编译后为
其中代表父级元素的& 只可出现在头部,否则解析不出来。
嵌套属性
CSS Code复制内容到剪贴板 .funky { font: { family: fantasy; size: 30em; weight: bold; } }编译为
CSS Code复制内容到剪贴板 .funky { font-family: fantasy; font-size: 30em; font-weight: bold; }这个在一些复杂的css3属性上用处比较大,比如animate
字符串内插
使用#{}作为选择器变量
CSS Code复制内容到剪贴板 $name: foo; $attr: border; p.#{$name} { #{$attr}-color: blue; } p { $font-size: 12px; $line-height: 30px; font: #{$font-size}/#{$line-height}; }第二个例子如果不用字面量则12除30
运算符
CSS Code复制内容到剪贴板 p { width: 1in + 8pt; }单位如果可以转换,会被自动转换
编译为:
直接字面量,变量使用,函数,括号,优先级
以上编译为
颜色:
CSS Code复制内容到剪贴板 p { color: #010203 + #040506;//相加 rbg三位分别相加 color: #010203 * 2;//相乘 color: rgba(255, 0, 0, 0.75) + rgba(0, 255, 0, 0.75);//带alpha通道的叠加 color: opacify($translucent-red, 0.3);//控制透明的函数,加强非透明 background-color: transparentize($translucent-red, 0.25); //控制透明的函数,加强透明 }默认变量:
CSS Code复制内容到剪贴板 $content: "First content"; $content: "Second content?" !default; $new_content: "First time reference" !default; #main { content: $content; new-content: $new_content; }!default 如变量被赋值使用之前的赋值,没被赋值,赋值