LESS规范
代码组织
[必须]代码按如下形式按顺序组织:
@import
- 变量声明
- 样式声明
// ✓
@import "est/all.less";
@default-text-color: #333;
.page {
width: 960px;
margin: 0 auto;
}
@import
语句
[必须] @import
语句引用的文件必须(MUST)写在一对引号内,.less
后缀不得省略(与引入 CSS 文件时的路径格式一致)。引号使用 "
// ✗
@import 'est/all';
@import "my/mixins.less";
// ✓
@import "est/all.less";
@import "my/mixins.less";
运算
[必须] +
/ -
/ *
/ /
四个运算符两侧保留一个空格。+
/ -
两侧的操作数有相同的单位,如果其中一个是变量,另一个数值书写单位。
// ✗
@a: 200px;
@b: (@a+100)*2;
// ✓
@a: 200px;
@b: (@a + 100px) * 2;
混入(Mixin)
[必须] Mixin 和后面的空格之间不得包含空格。在给 mixin 传递参数时,在参数分隔符(,
/ ;
)后要保留一个空格:
// ✗
.box {
.size(30px,20px);
.clearfix ();
}
// ✓
.box {
.size(30px, 20px);
.clearfix();
}
[必须] 在定义 mixin 时,如果 mixin 名称不是一个需要使用的 className,加上括号,否则即使不被调用也会输出到 CSS 中。
// ✗
.big-text {
font-size: 2em;
}
h3 {
.big-text;
}
// ✓
.big-text() {
font-size: 2em;
}
h3 {
.big-text();
}
[必须] 如果混入的是本身不输出内容的 mixin,在 mixin 后添加括号(即使不传参数),以区分这是否是一个 className(修改以后是否会影响 HTML)。
// ✗
.box {
.clearfix;
.size (20px);
}
// ✓
.box {
.clearfix();
.size(20px);
}
继承
[必须] 使用继承时,如果在声明块内书写 :extend
语句,写在开头:
// ✗
.sub {
color: red;
&:extend(.mod all);
}
// ✓
.sub {
&:extend(.mod all);
color: red;
}