CSS 编码规范
CSS 编码规范
此前团队讨论过前端开发规范的相关规定,方便交流,方便代码维护;
前端开发团队遵循和约定的 CSS 编码规范,意在提高代码的规范性和可维护性。
代码风格
-
代码应该符合 CSS 语法有效性,可以使用 W3C CSS validator 工具来验证。
-
ID 和 Class 应该按照元素功能命名,不应该按照元素表现命名,命名应该含义清晰。
/* bad: 含义不清 */ #yee-1901 {} /* bad: 表现化 */ .button-green {} .clear {} /* good: 功能化 */ #gallery {} #login {} .video {}
-
ID 和 Class 命名应该在保持含义清晰的前提下尽可能简短。
/* bad */ #navigation {} .atr {} /* good */ #nav {} .author {}
-
ID 和 Class 命名中单词应该全部小写,单词之间使用
-
作为分隔符。/* bad */ #videoId {} .demoimage {} .error_status {} /* good */ #video-id {} .ads-sample {}
-
不能「MUST NOT」把 ID 和 Class 选择符作为类型选择符的限定符,这样做没必要,反而还影响性能。
/* bad */ ul#example {} div.error {} /* good */ #example {} .error {}
-
CSS 属性应该尽可能使用简化方式书写,需注意简写时默认值的副作用,详细参考 Shorthand properties。
/* bad */ border-top-style: none; font-family: palatino, georgia, serif; font-size: 100%; line-height: 1.6; padding-bottom: 2em; padding-left: 1em; padding-right: 1em; padding-top: 0; /* good */ border-top: 0; font: 100%/1.6 palatino, georgia, serif; padding: 0 1em 2em;
-
CSS 属性中的
0
值不应该带单位。/* bad */ margin: 0px; padding: 0px; /* good */ margin: 0; padding: 0;
-
CSS 属性中数值介于-1到1之间的小数应该忽略开头的
0
。/* bad */ font-size: 0.8em; /* good */ font-size: .8em;
-
CSS 的色值应该尽可能使用简化写法。
/* bad */ color: #eebbcc; /* good */ color: #ebc;
组织格式
-
必须采用 4 个空格为一次缩进。
-
CSS 属性声明应该按字母升序排列。
/* good */ background: fuchsia; border: 1px solid; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; color: black; text-align: center; text-indent: 2em;
-
CSS 每个代码块相对于父代码库必须有缩进。
/*good*/ @media screen, projection { html { background: #fff; color: #444; } }
- CSS 属性声明必须以分号结尾。
-
CSS 属性名冒号后必须有一个空格。
/* bad */ color:#eebbcc; /* good */ color: #ebc;
- CSS 中的属性名建议按照字母顺序排列,可以使用 Sublime Text 的 F5 命令来自动格式化。
-
最后的选择符与
{
之间必须有一个空格。/* bad */ #video{ margin-top: 1em; } .author { margin-top: 1em; } /* good */ #video { margin-top: 1em; }
-
多个并列的选择符必须换行。
/* bad */ a:focus, a:active { position: relative; top: 1px; } /* good */ h1, h2, h3 { font-weight: normal; line-height: 1.2; }
-
CSS 规则之间必须以空白行分隔。
/* good */ html { background: #fff; } body { margin: auto; width: 50%; }
-
CSS 属性值中所有使用到引号的位置必须使用单引号。
/* bad */ @import url("//www.google.com/css/maia.css"); html { font-family: "open sans", arial, sans-serif; } /* good */ @import url('//www.google.com/css/maia.css'); html { font-family: 'open sans', arial, sans-serif; }
代码注释
-
CSS规则段落之前应该添加注释说明。
/* good */ /* Header */ #adw-header {} /* Footer */ #adw-footer {} /* Gallery */ .adw-gallery {}
【 THE END 】
------ ShenBao on April 6, 2016
温馨提示:评论可能需要科学上网,若不能正常显示,敬请谅解!