虽然很久之前整理过一份简单的CSS规范,但是当时写的也不是很全面,有些细节也没有照顾到。记录一份较详细的版本,以备不时之需。

命名规范

  1. 【强制】 class一律使用小写字母+下划线格式命名 例: class="class_name"
  2. 【强制】 id一律使用驼峰命名法 例: id="idName"
  3. 【建议】 命名尽量使用英文命名,拼音也可以使用但尽量使用简称+英文的形式。

书写规范

【强制】属性值前加一个空格

.main{
margin:;
}

【强制】>、+、~ 选择器的两边各保留一个空格。

/* good */
.main > nav + div ~ input {
padding: 10px;
margin-left: 5px;
} /* bad */
.main>nav+div~input {
padding: 10px;
margin-left: 5px;
}

【建议】 尽量减少选择器的层级,最好不要超过四级

【建议】 属性应该按照特定的顺序出现以保证易读性 推荐顺序:class ,id ,name ,data-* ,src, for, type, href, value , max-length, max, min, pattern ,placeholder, title, alt ,required, readonly, disabled

class是为高可复用组件设计的,所以应处在第一位; id更加具体且应该尽量少使用,所以将它放在第二位。

【强制】样式中长度为0的须省略单位

/* good */
body {
padding: 0 5px;
} /* bad */
body {
padding: 0px 5px;
}

【建议】 颜色色值尽量使用小写,相同色值不要出现大小写都存在的情况 。如不小写也需要保证同一项目内保持大小写一致

/* very good */
.success {
background-color: #aca;
color: #90ee90;
} /* good */
.success {
background-color: #ACA;
color: #90EE90;
} /* bad */
.success {
background-color: #ACA;
color: #90ee90;
}

【强制】 font-family 属性中的字体名称应使用字体的英文

常用字体对应family name:宋体(SimSun)、黑体(SimHei)、微软雅黑(Microsoft YaHei)

【强制】 尽量增加样式的复用性,多次使用的样式写成通用class

.left{
float: left;
} .right{
float: right;
}

【强制】如果多个class的样式大部分重复,只有个别样式不同,可以把重复样式独立出来。

/* good */
.container .list .quan,.container .list .friend {
display: inline-block;
width: 4.5rem;
height: 4.5rem;
background-size: 4.5rem auto;
}
.container .list .quan{
background-position: 0 0;
}
.container .list .friend{
background-position: 0 -4.5rem;
} /* bad */
.container .list .quan{
display: inline-block;
width: 4.5rem;
height: 4.5rem;
background-size: 4.5rem auto;
background-position: 0 0;
}
.container .list .friend{
display: inline-block;
width: 4.5rem;
height: 4.5rem;
background-size: 4.5rem auto;
background-position: 0 -4.5rem;
}

CSS开发规范的更多相关文章

  1. HTML/CSS开发规范指南

    参见文档:https://github.com/doyoe/html-css-guide 1.文档目录结构 |-- 项目名 |-- src 开发环境 |-- html 静态页面模板目录 |-- bgi ...

  2. web前端开发CSS命名规范参考

    做为一个web前端工程师,每天接触HTML.css就像吃饭一样,但是作为一名合作.优秀的web前端工程师,对DIV+CSS命名还是有一定的规范的,本文整理了一份web前端开发中DIV+CSS各种命名规 ...

  3. Web前端开发规范文档你需要知道的事--HTML、css、js、文档等需要规范内容

          规范目的 为提高团队协作效率,便于后台人员添加功能及前端后期优化维护,输出高质量的文档,特制订此文档.本规范文档一经确认,前端开发人员必须按本文档规范进行前台页面开发.本文档如有不对或者不 ...

  4. 前端开发规范:命名规范、html 规范、css 规范、js 规范

    上周小组的培训内容是代码可读性艺术,主要分享如何命名.如何优化代码排版,如何写好的注释.我们都知道写出优雅的代码是成为大牛的必经之路. 下面感谢一位前端开发小伙伴总结的前端开发规范,通过学习相关开发规 ...

  5. 前端开发规范之命名规范、html规范、css规范、js规范

    在学习编程的时候,每次看到那些整齐规范的代码,心里顿时对这个程序员表示点点好感,有时,比如看到自己和朋友写的代码时,那阅读起来就是苦不堪言,所以,一些基本的开发规范是必须的,是为了自己方便阅读代码,也 ...

  6. 前端开发进阶:推荐的 CSS 书写规范

    写了这么久的CSS,但大部分前端er都没有按照良好的CSS书写规范来写CSS代码,这样会影响代码的阅读体验,这里总结一个CSS书写规范.CSS书写顺序供大家参考,这些是参考了国外一些文章以及我的个人经 ...

  7. 转载:移动web开发规范

    本文来源:http://blog.csdn.net/joueu/article/details/44329825 以下是规范建议,均是日常在开发当中的的一些经验,仅供参考. 移动web开发规范 一.头 ...

  8. html和css书写规范

    HTML 规范 分离的标记.样式和脚本 结构.表现.行为分离 在可能情况下验证你的标记 使用编辑器验证你的标记是否正确,一般编辑器都自带有这个功能. 技术不支持的时候使用备胎,如canvas 编码格式 ...

  9. html,css命名规范 (转)

    HTML+CSS命名规范总结 1.HTML部分 1.1添加必须的utf-8的字符集,并且使用HTML5的简洁 方式: <meta charset="utf-8"> 1. ...

随机推荐

  1. Android 项目使用TensorFlow

    Android 项目使用TensorFlow 首先需要搭建TensorFlow编译环境 参考:(http://www.cnblogs.com/dyufei/p/8027764.html) Tensor ...

  2. SQLServer复习文档1(with C#)

    目录: 前言 SQL Server基础准备 1.新建数据库 2.在数据中添加表 3.向表中添加数据 SQL Server与C#基础准备 实例解析 1.C#连接数据库 2.查询特定列数据 3.使用列别名 ...

  3. Netty4 学习笔记之三:粘包和拆包

    前言 在上一篇Netty 心跳 demo 中,了解了Netty中的客户端和服务端之间的心跳.这篇就来讲讲Netty中的粘包和拆包以及相应的处理. 名词解释 粘包: 会将消息粘粘起来发送.类似吃米饭,一 ...

  4. require.js模块化写法

    模块化 模块就是实现特定功能的一组方法.只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块. 下述两种写法等价 exports 对象是当前模块的导出对象,用于导出模块公有方法和属性. ...

  5. Tomcat启动慢解决方法(本人CentOS7.4系统)

    首先查看日志信息,查看因为什么而启动慢 在CentOS7启动Tomcat时,启动过程很慢,需要几分钟,经过查看日志,发现耗时在这里:是session引起的随机数问题导致的.Tocmat的Session ...

  6. C#中的Explicit和Implicit

    今天在Review一个老项目的时候,看到一段奇怪的代码. if (dto.Payment == null) continue; var entity = entries.FirstOrDefault( ...

  7. ccbpm工作流引擎是怎样支持多种流程模式的

    前言: 在BPM领域支持流程运转的理论模型有多种.有的21种.28种.32种. 每种模式都代表了这样的模式的理论设计者研究者的人员主张.思想.这些模式尽可能的,全然去覆盖到现实生产.工作.应用上的流程 ...

  8. zookeeper web ui--&gt;node-zk-browser安装

    眼下公司正在使用zookeeper做配置管理和其它工作,在网上找几个zookeeper管理工具,都不尽人意,要么功能不够强大,要么不能友好的浏览zk树形结构.我的想法是zk管理工具,应该有一个树形结构 ...

  9. 一个简单的java网络通信例子

    先建立2个项目,分别是请求端和响应端,端口改成不一样的就行,比如请求端是8080,响应端是8081 废话不多说,直接上代码 请求端的Controller层 @GetMapping("/req ...

  10. 面试题(php部分)

    1.用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分) [答案] $a = date("Y-m-d H:i:s", strtotime("-1 ...