Less 编码规约

@import

@import 语句必须声明于文件的头部位置。

// bad
.page {
  width: 960px;
  margin: 0 auto;
}

@import "est/all.less";

// good
@import "est/all.less";

.page {
  width: 960px;
  margin: 0 auto;
}

变量定义

  • 文件全局的变量在全局头部次于 @import 的位置声明;局部变量在块的头部位置声明。
// bad
.page {
  width: @width;
  margin: 0 auto;

  @width: 960px;
}

// good
.page {
  @width: 960px;

  width: @width;
  margin: 0 auto;
}
  • 变量命名必须使用减号 - 连接的形式 @foo-bar,不得使用驼峰形式 @fooBar。
// bad
@sidebarWidth: 200px;

// good
@sidebar-width: 200px;

注意:Less 的变量值总是以同一作用域下最后一个同名变量为准,务必注意后面的设定会覆盖所有之前的设定。

Mixins

  • 使用逗号 , 来分隔参数,而不使用分号 ;。在早期 less 仅使用逗号 , 来分隔参数,后来支持使用分号 ;,为了保证对以往代码的兼容和统一,均使用逗号 , 来分隔。
// bad
.size(@w; @h) {
  width: @w;
  height: @h;
}

// good
.size(@w, @h) {
  width: @w;
  height: @h;
}
  • 在定义 mixin 时,如果 mixin 本身并不作为一段独立的 CSS 描述,而只是给其他 CSS 来调用, 那么在 mixin 名称后必须加上括号 (),以防止它被多此一举地输出到 CSS 文件中,甚至污染全局样式。 并且与此同时,在调用此 mixin 时,即使不用传参数,后面也必须加上括号 ()。
    仅用于被调用的 mixin,常常定义在文件的最外层 scope,而不像其他使用 class 选择器的 CSS 描述一般会在选择器的嵌套中定义。 这使得开发者可以在文件中的任意 scope 中都能调用到 mixin。 所以,同样道理,如果这些 mixin 后因为没加括号而被输出到了编译后的 CSS 文件中,那么它们会因为没有嵌套多层的选择器而变得非常容易污染全局样式。
// bad
.big-text {
  font-size: 2em;
}

h3 {
  .big-text;
}

// good
.big-text() {
  font-size: 2em;
}

h3 {
  .big-text();
}
  • mixin 名称和括号 () 间不保留空格。在用逗号 , 分隔参数列表时,逗号 , 后保留一个空格,前不留空格。
// bad
.box {
  .size(30px,20px);
  .clearfix ();
}

// good
.box {
  .size(30px, 20px);
  .clearfix();
}
  • 由于 mixin 部分采用 class 名称定义,因此 mixin 命名同 class 命名一样,使用减号 - 连接的形式 @foo-bar,不得使用驼峰形式 @fooBar。 即使是仅用于函数调用的 mixin,也如此。
// bad
.bigText() {
  font-size: 2em;
}

// good
.big-text() {
  font-size: 2em;
}

继承

  • 使用继承时,如果在声明块内书写 :extend 语句,必须写在开头:
// bad
.sub {
  color: red;
  &:extend(.mod all);
}

// good
.sub {
  &:extend(.mod all);
  color: red;
}

四则运算符

  • 四则运算符 + - * / 左右保留一个空格。
// bad
@a: 200px;
@b: (@a+100px)*2;

// good
@a: 200px;
@b: (@a + 100px) * 2;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • CSS Preprocess Different 在前端界,有三大 CSS 预处理器,分别是 SASS(SCSS)...
    XGHeaven阅读 13,903评论 2 13
  • .bat脚本基本命令语法 目录 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...
    庆庆庆庆庆阅读 8,237评论 1 19
  • 花了这两天上班的空闲时间把mixins的大部分的相关内容写完了,但是还有两小块内容还没写,预计放在下一篇当中,下一...
    程恺阅读 2,431评论 0 1
  • 今天很开心,做事效率很高,沟通一个朋友;安排好公司春节放假的事情。
    秋叶_ea4d阅读 62评论 0 0
  • 今天去了之前工作的地方,见了熟悉的人,聊起来还挺开心的,这个时候就会想离开了还有人惦记真是很幸福的事情。 也许是因...
    小七姑娘乖阅读 215评论 0 0