虽然很久之前整理过一份简单的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. 人工智能二:TensorFlow环境搭建

    一.Windows下安装虚拟机VMware Workstation,在虚拟机中安装Ubuntu(要善用搜索引擎,解决各类简单问题) VMware Workstation下载地址:http://www. ...

  2. 关于[LeetCode]Factorial Trailing Zeroes O(logn)解法的理解

    题目描述: Given an integer n, return the number of trailing zeroes in n!. 题目大意: 给定一个整数n,返回n!(n的阶乘)结果中后缀0 ...

  3. window.open()被拦截问题

    最近做项目的时候遇到一个需求,在商品详情页面中点击购买按钮,之后再新标签页中打开生成的订单页面,所以想用window.open()来实现.但是测试的时候发现打开的链接被浏览器拦截. 之后,开始在网上查 ...

  4. 利用linux shell自己主动顶贴

    在论坛上面发帖问个什么东西的话,一旦不顶.帖子就秒沉了,可是又实在不想每时每刻都去顶,怎么办?以下展示了怎样利用shell 的crontab实现自己主动顶贴. 闲话不多说了,以豆瓣为例-– 1: 用c ...

  5. 数据库——SQLite---->Java篇

    SQLite SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌入式的,而且目前已经 ...

  6. Linux CentOS完全卸载PHP

    很无语,CentOS居然php版本才5.1.6,很多开源的CMS无法安装. 查看php版本命令: #php -v 下面的命令是删除不干净的 #yum remove php 因为使用这个命令以后再用 # ...

  7. (转)spring aop

    工作忙,时间紧,不过事情再多,学习是必须的.记得以前的部门老大说过:“开发人员不可能一天到晚只有工作,肯定是需要自我学习.第一:为了更充实自己,保持进步状态.第二:为了提升技术,提高开发能力.第三:保 ...

  8. 自学WPF之Binding(二)

    没有Source的Binding,使用ContentText作为Binding源: 上一篇是把CLR类型对象当作指定为Binding的Source,两种方法:一是把对象赋值给Binding.Sourc ...

  9. spring boot整合redis

    1.项目目录结构 2.配置文件 application.yml testName: applicationName: testRedis spring: redis: host: 192.168.20 ...

  10. 《决战大数据:驾驭未来商业的利器》【PDF】下载

    内容简介 大数据时代的来临,给当今的商业带来了极大的冲击,多数电商人无不"谈大数据色变",并呈现出一种观望.迷茫.手足无措的状态.车品觉,作为一名经验丰富的电商人,在敬畏大数据的同 ...