HTML/CSS 编写规范

为最大限度解决协同合作过程中出现的命名冲突问题、方便理解代码上下文、提高代码的执行效率,同时缩短项目交接时间、有必要制定一套简单易用的命名规范。基本原则是 class 需要遵循其代表的功能语义,模块化开发,不同业务模块使用不同前缀,公共部门使用项目缩写为前缀。

前缀规范

  • 公共组件命名以项目缩写作为前缀,如一个名为 Demo 的项目,项目缩写可以是 dm,那么该项目下的项目组件和公共类可以这样命名: dm_btn(按钮)、dm_icon(图标)、dm_ipt(输入框)、dm_toolbar(工具栏)。
  • 逻辑模块命名以具体描述作为前缀,如简历(resume)功能里面的非公共组件部分,以 resume 作为前缀(resume_mod、resume_text、resume_list),个人信息(profile)页面的非公共组件部分,则可以以 profile 作为前缀(profile_statge、profile_stage_title)。

格式规范

  • 允许出现下划线和驼峰(大小写)。
  • 除用于表示前缀的下划线外,其余下划线只有两种意义,一种代表直接父子关系,一种代表扩展关系。
  • 下划线后面紧跟小写,代表直接父子关系,如:
  1. <div class="dm_toolbar">
  2. <div class="dm_toolbar_header">
  3. <div class="dm_toolbar_header_title"></div>
  4. </div>
  5. </div>
  6. <div class="resume_mod">
  7. <div class="resume_mod_header"></div>
  8. <div class="resume_mod_footer"></div>
  9. </div>

对应的 CSS 选择器格式:

  1. .dm_toolbar {
  2. ...
  3. }
  4. .dm_toolbar_header {
  5. ...
  6. }
  7. .dm_toolbar_header_title {
  8. ...
  9. }
  10. .resume_mod {
  11. ...
  12. }
  13. .resume_mod_header {
  14. ...
  15. }
  16. .resume_mod_footer {
  17. ...
  18. }
  • 下划线后面紧跟大写,代表扩展关系,如:
  1. <a href="javascript:;" class="dm_btn"></a>
  2. <a href="javascript:;" class="dm_btn dm_btn_Big"></a>
  3. <div class="resume_mod resume_mod_List">
  4. <div class="resume_mod_cnt"></div>
  5. </div>

对应的CSS选择器格式:

  1. .dm_btn {
  2. ...
  3. }
  4. .dm_btn_Big {
  5. ...
  6. }
  7. .resume_mod {
  8. ...
  9. }
  10. .resume_mod_List {
  11. ...
  12. }
  13. .resume_mod_cnt {
  14. ...
  15. }
  16. .resume_mod_List .resume_mod_cnt {
  17. ...
  18. }
  • 若一个样式名由多个单词组成,则从第二个单词起,每个单词的第一个字母大写,如:
  1. <div class="resume_txtErrWrap"></div>