echo-fecs
Version:
Front End Code Style Suite
160 lines (159 loc) • 6.3 kB
YAML
"001":
level: 1
desc: "[建议] `CSS` 文件使用无 `BOM` 的 `UTF-8` 编码。"
"002":
level: 2
desc: "[强制] 使用 `4` 个空格做为一个缩进层级,不允许使用 `2` 个空格 或 `tab` 字符。"
"003":
level: 2
desc: "[强制] `选择器` 与 `{` 之间必须包含空格。"
"004":
level: 2
desc: "[强制] `属性名` 与之后的 `:` 之间不允许包含空格, `:` 与 `属性值` 之间必须包含空格。"
"005":
level: 2
desc: "[强制] `列表型属性值` 书写在单行时,`,` 后必须跟一个空格。"
"006":
level: 2
desc: "[强制] 每行不得超过 `120` 个字符,除非单行不可分割。"
"007":
level: 1
desc: "[建议] 对于超长的样式,在样式值的 `空格` 处或 `,` 后换行,建议按逻辑分组。"
"008":
level: 2
desc: "[强制] 当一个 rule 包含多个 selector 时,每个选择器声明必须独占一行。"
"009":
level: 2
desc: "[强制] `>`、`+`、`~` 选择器的两边各保留一个空格。"
"010":
level: 2
desc: "[强制] 属性选择器中的值必须用双引号包围。"
"011":
level: 2
desc: "[强制] 属性定义必须另起一行。"
"012":
level: 2
desc: "[强制] 属性定义后必须以分号结尾。"
"013":
level: 1
desc: "[建议] 如无必要,不得为 `id`、`class` 选择器添加类型选择器进行限定。"
"014":
level: 1
desc: "[建议] 选择器的嵌套层级应不大于 3 级,位置靠后的限定条件应尽可能精确。"
"015":
level: 1
desc: "[建议] 在可以使用缩写的情况下,尽量使用属性缩写。"
"016":
level: 1
desc: "[建议] 使用 `border` / `margin` / `padding` 等缩写时,应注意隐含值对实际数值的影响,确实需要设置多个方向的值时才使用缩写。"
"017":
level: 1
desc: "[建议] 同一 rule set 下的属性在书写时,应按功能进行分组,并以 **Formatting Model(布局方式、位置) > Box Model(尺寸) > Typographic(文本相关) > Visual(视觉效果)** 的顺序书写,以提高代码的可读性。"
"018":
level: 1
desc: "[建议] 当元素需要撑起高度以包含内部的浮动元素时,通过对伪类设置 `clear` 或触发 `BFC` 的方式进行 `clearfix`。尽量不使用增加空标签的方式。"
"019":
level: 1
desc: "[建议] 尽量不使用 `!important` 声明。"
"020":
level: 1
desc: "[建议] 当需要强制指定样式且不允许任何场景覆盖时,通过标签内联和 `!important` 定义样式。"
"021":
level: 1
desc: "[建议] 将 `z-index` 进行分层,对文档流外绝对定位元素的视觉层级关系进行管理。"
"022":
level: 1
desc: "[建议] 在可控环境下,期望显示在最上层的元素,`z-index` 指定为 `999999`。"
"023":
level: 1
desc: "[建议] 在第三方环境下,期望显示在最上层的元素,通过标签内联和 `!important`,将 `z-index` 指定为 `2147483647`。"
"024":
level: 2
desc: "[强制] 文本内容必须用双引号包围。"
"025":
level: 2
desc: "[强制] 当数值为 0 - 1 之间的小数时,省略整数部分的 `0`。"
"026":
level: 2
desc: "[强制] `url()` 函数中的路径不加引号。"
"027":
level: 1
desc: "[建议] `url()` 函数中的绝对路径可省去协议名。"
"028":
level: 2
desc: "[强制] 长度为 `0` 时须省略单位。 (也只有长度单位可省)"
"029":
level: 2
desc: "[强制] RGB颜色值必须使用十六进制记号形式 `#rrggbb`。不允许使用 `rgb()`。"
"030":
level: 2
desc: "[强制] 颜色值可以缩写时,必须使用缩写形式。"
"031":
level: 2
desc: "[强制] 颜色值不允许使用命名色值。"
"032":
level: 1
desc: "[建议] 颜色值中的英文字符采用小写。如不用小写也需要保证同一项目内保持大小写一致。"
"033":
level: 2
desc: "[强制] 必须同时给出水平和垂直方向的位置。"
"034":
level: 2
desc: "[强制] `font-family` 属性中的字体族名称应使用字体的英文 `Family Name`,其中如有空格,须放置在引号中。"
"035":
level: 2
desc: "[强制] `font-family` 按「西文字体在前、中文字体在后」、「效果佳 (质量高/更能满足需求) 的字体在前、效果一般的字体在后」的顺序编写,最后必须指定一个通用字体族( `serif` / `sans-serif` )。"
"036":
level: 2
desc: "[强制] `font-family` 不区分大小写,但在同一个项目中,同样的 `Family Name` 大小写必须统一。"
"037":
level: 1
desc: "[强制] 需要在 Windows 平台显示的中文内容,其字号应不小于 `12px`。"
"038":
level: 1
desc: "[建议] 需要在 Windows 平台显示的中文内容,不要使用除 `normal` 外的 `font-style`。其他平台也应慎用。"
"039":
level: 2
desc: "[强制] `font-weight` 属性必须使用数值方式描述。"
"040":
level: 1
desc: "[建议] `line-height` 在定义文本段落时,应使用数值。"
"041":
level: 2
desc: "[强制] 使用 `transition` 时应指定 `transition-property`。"
"042":
level: 1
desc: "[建议] 尽可能在浏览器能高效实现的属性上添加过渡和动画。"
"043":
level: 2
desc: "[强制] `Media Query` 不得单独编排,必须与相关的规则一起定义。"
"044":
level: 2
desc: "[强制] `Media Query` 如果有多个逗号分隔的条件时,应将每个条件放在单独一行中。"
"045":
level: 1
desc: "[建议] 尽可能给出在高分辨率设备 (Retina) 下效果更佳的样式。"
"046":
level: 2
desc: "[强制] 带私有前缀的属性由长到短排列,按冒号位置对齐。"
"047":
level: 1
desc: "[建议] 需要添加 `hack` 时应尽可能考虑是否可以采用其他方式解决。"
"048":
level: 1
desc: "[建议] 尽量使用 `选择器 hack` 处理兼容性,而非 `属性 hack`。"
"049":
level: 1
desc: "[建议] 尽量使用简单的 `属性 hack`。"
"050":
level: 2
desc: "[强制] 禁止使用 `Expression`。"
"997":
level: 1
desc: "[建议] 可能会导致代码质量下降的问题。(%s)"
"998":
level: 2
desc: "[强制] 存在兼容性问题或运行时错误。(%s)"
"999":
level: 2
desc: "[强制] 语法错误。(%s)"