CSS书写规范

语法

  • 缩进统一(tab键或4个空格)
  • 每个属性声明末尾都要加分号
  • 对于属性值或颜色参数,省略小于 1 的小数前面的 0 (例如,.5代替 0.5;-.5px 代替 -0.5px)
  • 为选择器中的属性添加双引号,例如,input[type="text"]。只有在某些情况下是可选的,但是,为了代码的一致性,建议都加上双引号。
  • 避免为 0 值指定单位,例如,用 margin: 0; 代替 margin: 0px;。
  • 不要使用 @import引用css
  • 尽量少用'*'选择器
  • 选择器不要超过4层(在scss中如果超过4层应该考虑用嵌套的方式来写)
  • 不要在一个文件里出现两个相同的规则
  • 不允许有空的规则
  • 无前缀的标准属性应该写在有前缀的属性后面
  • 不要在一个文件里出现两个相同的规则;
  • 用 border: 0; 代替 border: none;
  • 给每一个表格和表单加上一个唯一的、结构标记id

空格

以下几种情况需要空格:

  • 每个声明块的左花括号前添加一个空格
  • 每条声明语句的 : 后应该插入一个空格
  • 选择器'>', '+', '~'前后
  • !important '!'前
  • @else 前后
  • 对于以逗号分隔的属性值,每个逗号后面都应该插入一个空格(例如,box-shadow)
  • 注释'/'后和'/'前
    以下几种情况不需要空格:
  • 属性名后
  • 多个规则的分隔符','前
  • important '!'后
  • 属性值中'('后和')'前
  • 行末不要有多余的空格
  • 不要在 rgb()、rgba()、hsl()、hsla() 或 rect() 值的内部的逗号后面插入空格。这样利于从多个属性值(既加逗号也加空格)中区分多个颜色值(只加逗号,不加空格)

空行

  • 文件最后保留一个空行
  • 为了获得更准确的错误报告,每条声明都应该独占一行
  • 为选择器分组时,将单独的选择器单独放在一行
  • 声明块的右花括号应当单独成行
  • 属性之间需要适当的空行

换行

以下几种情况不需要换行:

  • '{'前
    以下几种情况需要换行:
  • '{'后和'}'前
  • 每个属性独占一行
  • 多个规则的分隔符','后

属性声明顺序

  • 定位浮动
  • 盒模型
  • 边框圆角
  • 文字
  • visual

颜色

  • 颜色16进制用小写字母
  • 颜色16进制尽量用简写

媒体查询(Media query)的位置

  • 将媒体查询放在尽可能相关规则的附近。不要将他们打包放在一个单一样式文件中或者放在文档底部。如果你把他们分开了,将来只会被大家遗忘。下面给出一个典型的实例。

带前缀的属性

  • 当使用特定厂商的带有前缀的属性时,通过缩进的方式,让每个属性的值在垂直方向对齐,这样便于多行编辑。

单行规则声明

  • 对于只包含一条声明的样式,为了易读性和便于快速编辑,建议将语句放在同一行。对于带有多条声明的样式,还是应当将声明分为多行。

简写形式的属性声明

  • 在需要显示地设置所有值的情况下,应当尽量限制使用简写形式的属性声明。
  • 常见的属性简写包括:
  • font
  • background
  • transition
  • animation

注释

  • 注释统一用'/* */'
* /*
 * Modal header
 * Modal header
/*
 *文件用途说明
 *作者姓名
 *联系方式
 *制作日期
*/

class 命名

  • class 名称中只能出现小写字符和破折号(dashe)(不是下划线,也不是驼峰命名法)。破折号应当用于相关 class 的命名(类似于命名空间)(例如,.btn 和 .btn-danger)。
  • 避免过度任意的简写。.btn 代表 button,但是 .s 不能表达任何意思。
  • class 名称应当尽可能短,并且意义明确。
  • 使用有意义的名称。使用有组织的或目的明确的名称,不要使用表现形式(presentational)的名称。
  • 基于最近的父 class 或基本(base) class 作为新 class 的前缀。
  • 使用 .js-* class 来标识行为(与样式相对),并且不要将这些 class 包含到 CSS 文件中。

选择器

    • 对于通用元素使用 class ,这样利于渲染性能的优化。
    • 对于经常出现的组件,避免使用属性选择器(例如,[class^="..."])。浏览器的性能会受到这些因素的影响。
    • 选择器要尽可能短,并且尽量限制组成选择器的元素个数,建议不要超过 3 。
    • 只有在必要的时候才将 class 限制在最近的父元素内(也就是后代选择器)(例如,不使用带前缀的 class 时 -- 前缀类似于命名空间)。

代码组织

    • 以组件为单位组织代码段。
    • 制定一致的注释规范。
    • 使用一致的空白符将代码分隔成块,这样利于扫描较大的文档。
    • 如果使用了多个 CSS 文件,将其按照组件而非页面的形式分拆,因为页面会被重组,而组件只会被移动。

链接

  • 链接的样式请严格按照如下顺序添加: a:link -> a:visited -> a:hover -> a:active

你可能感兴趣的:(CSS书写规范)