样式顺序规范

建议相关的属性说明放在一组,提高代码的可读性。

  1. 布局方式、位置,相关属性(position, left, right, top, bottom, z-index)

  2. 盒模型,相关属性包括(display, float, width, height, margin, padding, border, border-radius)

  3. 文本排版,相关属性包括(font, color, background, line-height, text-align)

  4. 视觉外观,相关属性包括:(color, background, list-style, transform, animation)

由于定位可以从正常的文档流中移除元素,并且还能覆盖盒模型相关的样式,因此排在首位。而盒模型决定了组件的尺寸和位置,所以排第二位。文本和视觉外观对元素影响较小,所以放在第三,第四位;示例代码如下

  1. .box {
  2. position: absolute;
  3. top: 0;
  4. left: 20%;
  5. z-index: 99;
  6. width: 100px;
  7. height: 100px;
  8. font-size: 20px;
  9. color:red;
  10. background-color: aqua;
  11. }

使用CSS缩写属性

对于 background, font, padding, margin 这些简写形式的属性声明,可以缩写的尽量缩写,这样既精简代码又提高用户的阅读体验

  1. .box {
  2. width: 100px;
  3. height: 100px;
  4. margin: 0 10px 20px 30px;
  5. font: italic bold 12px/30px arial,sans-serif;
  6. }

小数点和单位

值在 -1 和 1 之间时去掉小数点前的 “0”,如果属性值为数字 0,不加任何单位;

  1. .box {
  2. width: 100px;
  3. height: 100px;
  4. margin: 0 10px 20px 0;
  5. opacity: .5;
  6. }

颜色值十六进制表示法

6 个字符的十六进制表示法,并始终使用小写的十六进制数字;16进制表示法与rgb表示法混用的情况,优先使用 16 进制表示法

  1. .box {
  2. color: #cccccc;
  3. background-color: #efefef;
  4. }

引号

属性选择器或属性值用双引号 “” 括起来,而 URI 值 url() 不要使用任何引号

  1. .box {
  2. font-family: "open sans", arial, sans-serif;
  3. background-image: url(http://taobao.com/);
  4. }

内容缩进

为了反映层级关系和提高可读性,块级内容都应缩进,建议缩进使用两个空格;

  1. .box {
  2. line-height: 1.5;
  3. }

空格

  1. 在每个声明块选择器与左花括号前添加一个空格;

  2. 声明块的右花括号应当单独成行;

  3. 每条声明语句的 : 后应该插入一个空格,前面无空格

  1. .box {
  2. float: right;
  3. width: 100px;
  4. color: #333;
  5. background-color: #f5f5f5;
  6. text-align: center;
  7. }

媒体查询

将媒体查询放在尽可能相关规则的附近。如果分开了,可能会被遗忘。

媒体查询针对每一个种屏幕(大、中、小)的分别单独组织为一个文件

  1. .element {}
  2. .element-avatar {}
  3. .element-selected {}
  4. @media (min-width: 480px) {
  5. .element {}
  6. .element-avatar {}
  7. .element-selected {}
  8. }

注释

在适当的位置给予代码正确的注释,让他人跟容易理解。好的代码注释传达上下文和目标。不要简单地重申组件或者 class 名称。

  1. /* Wrapping element for .modal-title and .modal-close */
  2. .modal-header {
  3. }

如果是对整个文件做注释,最好放在文本头部,简要描述一下文中元信息以及作用

  1. /**
  2. * 这里描述元信息
  3. */
  4. html, body {
  5. height:100%;
  6. }