虽然很久之前整理过一份简单的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. LinuxRPM包安装

    转载注明出处:原文地址 ## LinuxRPM包安装 二进制包(RPM包.系统默认包) RPM安装 rpm -ivh 包全名(查询依赖网址:http://www.rpmfind.net) -i(ins ...

  2. python学习之路day1

    学习总结: 变量,字符的由来,python2和python3的区别,控制语句:if,for,while,break,continue用法 学习示例: if用法1:判断年龄 # -*- coding: ...

  3. 浅copy 与 深copy

    import copy names = ["zhangyang", 'guyun', 'xiangpeng', ['jack','tom'], 'xuliangchen'] nam ...

  4. object 覆盖 div 在IE 和Firefox 的解决方案

    问题描述 公司产品需要在三维(3D)控件上显示弹框,按钮等,然而三维控件的object覆盖了div,弹框和按钮不能显示 firefox 解决方案 最外层div的背景使用不透明背景色,必须是不透明的哦 ...

  5. Sublime Text 3 常用快捷键

    一. 选择类       Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本.     Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑.举个栗子:快速选中并 ...

  6. Spark之搜狗日志查询实战

    1.下载搜狗日志文件: 地址:http://www.sogou.com/labs/resource/chkreg.php 2.利用WinSCP等工具将文件上传至集群. 3.创建文件夹,存放数据: mk ...

  7. Cygwin-Cygwin ssh Connection closed by ::1 出错

    问题描写叙述: Cygwin好不easy安装好了ssh服务,第一连接没有问题,能够显示相关信息 $ ssh localhost Last login: Sat Jul 25 09:00:30 2015 ...

  8. 单点登录(一)使用Cookie+File实现单点登录

    本文使用Cookies+Filter实现www.taobao.tgb.com 和 www.tianmao.tgb.com的单点登录. 源代码分享:链接: http://pan.baidu.com/s/ ...

  9. nyoj 123 士兵杀敌(四)【树状数组】+【插线问点】

    树状数组有两种情况:插点问线和插线问点.这道题是插线问点. 由于树状数组最简单的作用是计算1~x的和,所以给出(a, b. c).表示(a,b)区间添加c, 那我们仅仅须要在a点原来的基础上添加c,然 ...

  10. IIS 服务或万维网公布服务,或者依赖这 服务可能在启动期间错误发生或者已禁用

    作者:jiankunking 出处:http://blog.csdn.net/jiankunking 详细错误信息例如以下: 解决方式: 在服务中禁用下面3个服务自己主动启动: Net.Msmq Li ...