less和scss

119 阅读1分钟

相同点

1.less和scss都是css的预处理器,可以拥有变量,运算,继承,嵌套的功能,可以使代码更加便于阅读和维护

2.都可以参数混入,传递参数的class,就像函数一样

不同点

less用@符号,scss用$符号表示

语法规则

1、混入(Mixins) ——class中的class;

2、参数混入——可以传递参数的class,就像函数一样;

.bordered { border-top: dotted 1px black; border-bottom: solid 2px black; }
#menu a { color: #111; .bordered(); } .post a { color: red; .bordered(); }

3、嵌套规则——Class中嵌套class,从而减少重复的代码;

4、运算——CSS中用上数学,算术运算符 +-*/ 可以对任何数字、颜色或变量进行运算;

5、颜色功能——可以编辑颜色;

6、名字空间(namespace) ——分组样式,从而可以被调用;

#bundle() { 
.button { display: block; border: 1px solid black; background-color: grey; &:hover { background-color: white; } } 
}

#header a { color: orange; #bundle.button(); // 还可以书写为 #bundle > .button 形式 }

7、作用域——局部修改样式,首先在本地查找变量和混合(mixins),如果找不到,则从“父”级作用域继承。

@var: red;
#page {
    @var: white; #header { color: @var; // white } 
}

8、JavaScript 赋值——在CSS中使用JavaScript表达式赋值。