美文网首页
Less 编码规约

Less 编码规约

作者: 松哥888 | 来源:发表于2018-05-10 21:55 被阅读14次

@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;

相关文章

  • Less 编码规约

    @import @import 语句必须声明于文件的头部位置。 变量定义 文件全局的变量在全局头部次于 @impo...

  • 研发二部JAVA后台开发规约(参考阿里JAVA代码规范)

    主要内容 工程规约 编码规约 异常处理日志规约 MySQL规约 安全规约 工程规约 应用分层: 工程分层如上图所示...

  • Java编码规约插件使用

    Java编码规约插件使用

  • 编码规范

    程序编码规范: 命名规约:

  • android:阿里编码规约初体验

    一、阿里编码规约简介 阿里编码规约是由阿里巴巴 P3C 项目组开发的针对 Java 语言的代码检测插件。 能够在编...

  • CSS 编码规约

    基本规约 【推荐】缩进使用两个空格 在每个声明块的左花括号前添加一个空格 【推荐】声明块的右花括号应当单独成行 每...

  • HTML 编码规约

    基本规约 在每个 HTML 页面开头使用这个简单地 doctype 来启用标准模式,使其每个浏览器中尽可能一致的展...

  • React 编码规约

    基本 每个文件只写一个组件,但是多个无状态组件可以放在单个文件中。 组件 【强制】有内部状态,方法或者是要对外暴露...

  • 编码规约 + Maven

    1. 如何使用阿里巴巴的规约? 答:使用plugin搜索alibaba即可 2. 什么是maven? 3.如何通过...

  • Kotlin 编码规约

    Kotlin 编码规约 编码规范 本页包含当前 Kotlin 语言的编码风格。 源代码组织 命名规则 格式化 文档...

网友评论

      本文标题:Less 编码规约

      本文链接:https://www.haomeiwen.com/subject/pwitdftx.html