标签:
$side:left;
.rounded {
border-#{$side}-radius:5px;
}
1.后缀名.sass和.scss;2.Sass有严格的缩进式语法规则,不带({})和分号(;),SCSS类似于CSS。
安装Sass
在线联系
gem install sass
gem install compass
gem update sass
gem uninstall sass
命令编译:sass --watch --style nested expanded compact compressed --sourcemap
GUI工具编译:koala Codekit
自动化编译:
var gulp = require(‘gulp‘);
var sass = require(‘gulp-sass‘);
gulp.task(‘sass‘, function () {
gulp.src(‘./scss/*.scss‘)
.pipe(sass())
.pipe(gulp.dest(‘./css‘));
});
gulp.task(‘watch‘, function() {
gulp.watch(‘scss/*.scss‘, [‘sass‘]);
});
gulp.task(‘default‘, [‘sass‘,‘watch‘]);</pre>
单文件编译:sass path/style.scss:path/style.css
多文件编译:sass sass/:css/
监视文件变化:sass --watch path/style.scss:path/style.css
基础的文件命名以开头
导入时可忽略和scss扩展名
@import导入的sass文件在编译时会被合入新文件,@import导入的css文件不会
单行注释//不会被转译出来,标准的css注释方式则可以/**/
必须以
baseLineHeight: 5 !default;
全局变量、局部变量,当在局部范围(选择器内、函数内、混合宏内...)声明一个已经存在于全局范围内的变量时,局部变量就成为了**全局变量的影子**。基本上,**局部变量只会在局部范围内覆盖全局变量**。
特殊变量:
```css
.border-#{borderDirection} {
border-#{borderDirection}: 1px solid #ccc;
}
body {
font: #{baseFontSize}/#{$baseLineHeight};
}
多值变量:
全局变量:
######嵌套(Nesting)
选择器的嵌套、属性的嵌套、伪类嵌套
.box {
border: { //关键在于这个双引号
top: 1px solid red;
bottom: 1px solid green;
}
}
```
.clearfix {
&:before,
&:after {
content: "";
display: table;
}
&:after {
clear: both;
overflow: hidden;
}
}
@at-root 用来跳出选择器嵌套,相当于@at-root(without:rule) rule表示常规css
@at-root(without:media)
@at-root(without:support)
@at-root(without:all)
@at-root与&配合使用
1.声明混合宏
不带参数混合宏@mixin name {}
带参数混合宏@mixin name(
复杂的混合宏,混合宏会产生冗余代码,`涉及到变量的时候用,可以传参`
```
@mixin border-radius(radius...) {
@if length(shadow) >= 1 {
@include prefixer(box-shadow,shadow);
} @else {
}
}
```
相同的合在一起,缺点是不能传参
不被@extend调用不产生代码
,相同的合在一起
嵌套输出nested
展开输出expanded
紧凑输出compact
压缩输出compressed
不支持GBK编码,需要将文件编码设置为utf-8
路径中不能用中文字符
标签:
原文地址:http://www.cnblogs.com/jedi-knight/p/5009137.html