CSS编码规范
1 前言
2 代码风格
2.1 文件
[建议]CSS文件使用无BOM的UTF-8编码。
2.2 缩进
[强制] 使用4个空格做为一个缩进层级,不允许使用2个空格。
[建议] 对于超长的样式,在样式值的 position content 时,才使用内联的 z-index z-index 2147483647 4 值与单位 rgba() 0% 0%2.3 空格[强制]
选择器与{之间必须包含空格。[强制]属性名与之后的:之间不允许包含空格,:与属性值之间必须包含空格。[强制]列表型属性值书写在单行时,,后必须跟一个空格。2.4 行长度[强制] 每行不得超过
120个字符,除非单行不可分割。空格处或,后换行,建议按逻辑分组。2.5 选择器[强制] 当一个 rule 包含多个 selector 时,每个选择器声明必须独占一行。
[强制]>、+、~选择器的两边各保留一个空格。[强制] 属性选择器中的值必须用双引号包围。2.6 属性[强制] 属性定义必须另起一行。
[强制] 属性定义后必须以分号结尾。3 通用。以便于自身产品线被其他产品线引用时,当遇到层级覆盖冲突的情况,留出向上调整的空间。3.1 选择器
[强制] 如无必要,不得为
id、class选择器添加类型选择器进行限定。[建议] 选择器的嵌套层级应不大于 3 级,位置靠后的限定条件应尽可能精确。来容纳足够的元素,如果每层元素较多,可以调整这个数值。3.2 属性缩写或递增[建议] 在可以使用缩写的情况下,尽量使用属性缩写。
[建议] 使用属性,应放在最前面。border/margin/padding等缩写时,应注意隐含值对实际数值的影响,确实需要设置多个方向的值时才使用缩写。3.3 属性书写顺序/[建议] 同一 rule set 下的属性在书写时,应按功能进行分组,并以Formatting Model(布局方式、位置) > Box Model(尺寸) > Typographic(文本相关) > Visual(视觉效果)的顺序书写,以提高代码的可读性。
top/right/bottom/left/float/display/overflow等border/margin/padding/width/height等font/line-height/text-align/word-wrap等background/color/transition/list-style等!important样式。通常在第三方环境的应用中使用这种方案。下面的 z-index 章节是其中一个特殊场景的典型样例。3.6 z-index
[建议] 将
z-index进行分层,对文档流外绝对定位元素的视觉层级关系进行管理。z-index。[建议] 在可控环境下,期望显示在最上层的元素,
z-index指定为999999。[建议] 在第三方环境下,期望显示在最上层的元素,通过标签内联和
!important,将z-index指定为2147483647。4.1 文本
[强制] 文本内容必须用双引号包围。
4.2 数值
[强制] 当数值为 0 - 1 之间的小数时,省略整数部分的
0。4.3 url()[强制]
url()函数中的路径不加引号。[建议]url()函数中的绝对路径可省去协议名。4.4 长度[强制] 长度为
0时须省略单位。 (也只有长度单位可省)4.5 颜色。使用[强制] RGB颜色值必须使用十六进制记号形式
#rrggbb。不允许使用rgb()。rgba()时每个逗号后必须保留一个空格。[强制] 颜色值可以缩写时,必须使用缩写形式。[强制] 颜色值不允许使用命名色值。[建议] 颜色值中的英文字符采用小写。如不用小写也需要保证同一项目内保持大小写一致。4.6 2D 位置,但在只有一个方向的值时,另一个方向的值会被解析为 center。为避免理解上的困扰,应同时给出两个方向的值。background-position属性值的定义[强制] 必须同时给出水平和垂直方向的位置。
5 文本编排