* 用两个空格来代替制表符(tab) -- 这是唯一能保证在所有环境下获得一致展现的方法。
* 为选择器分组时,将单独的选择器单独放在一行。
* 为了代码的易读性,在每个声明块的左花括号前添加一个空格。
* 声明块的右花括号应当单独成行。
* 每条声明语句的 `:` 后应该插入一个空格。
* 为了获得更准确的错误报告,每条声明都应该独占一行。
* 所有声明语句都应当以分号结尾。最后一条声明语句后面的分号是可选的,但是,如果省略这个分号,你的代码可能更易出错。
* 对于以逗号分隔的属性值,每个逗号后面都应该插入一个空格(例如,`box-shadow`)。
* 不要在 `rgb()`、`rgba()`、`hsl()`、`hsla()` 或 `rect()` 值的*内部*的逗号后面插入空格。这样利于从多个属性值(既加逗号也加空格)中区分多个颜色值(只加逗号,不加空格)。
* 对于属性值或颜色参数,省略小于 1 的小数前面的 0 (例如,`.5` 代替 `0.5`;`-.5px` 代替 `-0.5px`)。
* 十六进制值应该全部小写,例如,`#fff`。在扫描文档时,小写字符易于分辨,因为他们的形式更易于区分。
* 尽量使用简写形式的十六进制值,例如,用 `#fff` 代替 `#ffffff`。
* 为选择器中的属性添加双引号,例如,`input[type="text"]`。[只有在某些情况下是可选的](http://mathiasbynens.be/notes/unquoted-attribute-values#css),但是,为了代码的一致性,建议都加上双引号。
* 避免为 0 值指定单位,例如,用 `margin: 0;` 代替 `margin: 0px;`。
~~~
/* Bad CSS */
.selector, .selector-secondary, .selector[type=text] {
padding:15px;
margin:0px 0px 15px;
background-color:rgba(0, 0, 0, 0.5);
box-shadow:0px 1px 2px #CCC,inset 0 1px 0 #FFFFFF
}
/* Good CSS */
.selector,
.selector-secondary,
.selector[type="text"] {
padding: 15px;
margin-bottom: 15px;
background-color: rgba(0,0,0,.5);
box-shadow: 0 1px 2px #ccc, inset 0 1px 0 #fff;
}
~~~
- Vue开发规范
- 基于模块开发
- 组件
- 组件命名规则
- 基础组件名
- 单例组件名
- 紧密耦合的组件名
- 组件名中的单词顺序
- 组件文件夹命名规则
- method方法
- methods方法命名规则
- 组件结构化
- 组件事件命名规则
- v-for与v-if
- 为 v-for 设置键值
- 避免 v-if 和 v-for 用在一起
- Prop
- Prop命名规则
- Prop定义
- 避免 this.$parent
- 谨慎使用 this.$refs
- 隐性的父子组件通信
- 元素
- 元素特性的顺序
- 多个特性的元素摆放规则
- 单文件组件的顶级元素的顺序
- 简化代码
- 模板中简单的表达式
- 简单的计算属性
- 指令缩写
- 文件引用路径
- 其他注意
- 组件数据
- 将 this 赋值给 component 变量
- 对组件文件进行代码校验
- 尽可能使用 mixins
- 非 Flux 的全局状态管理
- 只在需要时创建组件
- HTML开发规范
- HTML语法
- HTML5 doctype
- 语言属性
- IE 兼容模式
- 字符编码
- 引入 CSS 和 JavaScript 文件
- 实用为王
- 属性顺序
- 布尔(boolean)型属性
- 减少标签的数量
- JavaScript 生成的标签
- CSS开发规范
- CSS语法
- 声明顺序
- 不要使用 @import
- 媒体查询(Media query)的位置
- 带前缀的属性
- 单行规则声明
- 简写形式的属性声明
- Less 和 Sass 中的嵌套
- Less 和 Sass 中的操作符
- 注释
- class 命名
- 选择器
- 代码组织