sass和less
都是css的拓展语言,less和sass最主要的区别是less是通过Javascript编译,而sass是通过ruby编译的,如果没有引入前端工程化,less会消耗客户端性能,sass会消耗服务端性能,但是引入前端工程化的话,gunt,gulp,webpack等,less和sass在打包阶段都会转化成css,所以不会有区别,只是sass是基于ruby,所以每次npm的时候相对慢一点点CSS特性 CSS是一种标记性语言。如果没有calc()方法,CSS是不能进行真正意义上的计算的,更不提函数、变量这些了。早期网页开发还处于刀耕火种的时期,每一个样式都需要手写或复制,不能调用。有一个时期,“同一样式多处调用”的需求产生了“原子样式”的写法,类似于:
.center {
text-align: center;
}
Less特性 Less是晚些产生的语言,基于JS进行开发,在Node中进行编译。所以使用时不需要安装其他语言,不过要记得先导入less文件,然后导入less.js。提供CDN地址在这里:
当然Less也提供服务器端的编译功能。
基本语法:
-
- 变量
Sass: $var
Less: @var
两种语言都会有作用域的问题。一个变量只能在它被定义的代码块中使用。重复定义的变量会报错。
- 变量
-
- 运算赋值:
只要保持单位统一或可相互转换,就可以进行运算,包括颜色在内:
- 运算赋值:
p {
cursor: e + -resize;
}
// 编译为
// p {
//cursor: e-resize;
// }body {
margin: (14px/2);
top: 50px + 100px;
right: $var * 10%;
}
【sass和less】Less:
@base: 5%;
@filler: @base * 2;
@other: @base + @filler;
color: #888 / 4;
background-color: @base-color + #111;
height: 100% / 2 + @filler;
@var: 1px + 5;
width: (@var + 5) * 2;
border: (@width * 2) solid black;
- 嵌套
Sass和Less均允许元素嵌套。如果父子选择器均用逗号分开,那么编译时会按结合律拆开编译。
Sass和Less指代上层元素均使用&符号。 - 继承
Sass中,写好的选择器进行集成,需要@extend关键字。
Less中,直接写入即可:.be-extend-class; - Mixin
Sass中,需要进行Mixin操作的选择器需要@mixin关键字,选择器后可以传入变量和默认值。
推荐阅读
- 急于表达——往往欲速则不达
- 第三节|第三节 快乐和幸福(12)
- 20170612时间和注意力开销记录
- 2.6|2.6 Photoshop操作步骤的撤消和重做 [Ps教程]
- 对称加密和非对称加密的区别
- 眼光要放高远
- 樱花雨
- 前任
- 2020-04-07vue中Axios的封装和API接口的管理
- 烦恼和幸福