CSS通用编码规范
CSS通用编码规范
总结一部分前端编码规范,CSS部分先奉上,大多比较通用,应该是主流方式吧。
1 前言
本文档的目标是使 CSS 代码在团队中风格保持一致,容易被理解和被维护。
尽管本文档是针对 CSS 设计的,但是在使用各种 CSS 的预编译器(如 less、sass、stylus 等)时,适用的部分也应尽量遵循本文档的约定。
2 CSS命名方式
- 保持 class 命名为全小写,可以使用短划线(不要使用下划线和 camelCase 驼峰式命名)
- 短划线应该作为相关类的自然间断。(例如,.btn 和 .btn-blue)。
- 避免过度使用简写。.btn 可以很好地描述 button,但是 .t 不能代表任何元素。
- class 的命名应该尽量短,也要尽量明确。
- 使用有意义的名称;使用结构化或者作用目标相关,而不是抽象的名称。
- 全局通用命名时,需要加特定前缀如 `zk-wrap`
- 局部命名时,可以根据模块内容或就近父节点为前缀
3 CSS基础设施
- 编码格式:文件编码格式 `UTF-8` 编码,在CSS文件顶格位置申明文档的编码charset
@charset "utf-8";
4 编码风格
- 缩进方式:使用
4
个空格做为一个缩进层级,不允许使用2
个空格 或tab
字符。 空格
选择器
与{
之间必须包含空格。属性名
与之后的:
之间不允许包含空格,:
与属性值
之间必须包含空格。列表型属性值
书写在单行时,,
后必须跟一个空格。
选择器
- 如无必要,不得为
id
、class
选择器添加类型选择器进行限定。 - 选择器的嵌套层级应不大于
3
级,位置靠后的限定条件应尽可能精确 >
、+
、~
选择器的两边各保留一个空格。
- 如无必要,不得为
属性
- 属性定义必须另起一行。
- 属性定义后必须以分号结尾。
- 在可以使用缩写的情况下,尽量使用属性缩写。
属性前缀,标准属性放在最后,按冒号对齐方便阅读,也便于在编辑器内进行多行编辑。
.box {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
属性书写顺序: 位置 > 盒模型 > 排版 > 外观 > 其它
Positioning 位置
// 包括 float、display、overflow……
position: absolute;
top: 50px;
left: 0;
overflow-x: hidden;Box model 盒模型
border: 1px solid #000
margin: 20px;
padding: 15px;
width: 240px;
height: 160px;Typographic 排版
font-size: 16px;
line-height: 32px;
text-align: left;
word-wrap: break-wordVisual 外观
background: #fff url(images/logo.png) no-repeat;
color: #000;
清除浮动
当子内容 float 浮动后,父级标签一定要清除浮动,通过对伪类设置clear
的方式进行clearfix
。尽量不使用增加空标签的方式。[参看]// css
.clearfix::after {
clear: both;
content: "";
display: table;
}颜色
- RGB颜色值必须使用十六进制记号形式
#rrggbb
。不允许使用rgb()
。 - 颜色值可以缩写时,必须使用缩写形式,
border-color: #ccc;
- 颜色值不要使用英文命名色值,如
color:red
- 颜色值最好全部采用小写字符
- RGB颜色值必须使用十六进制记号形式
数值
- 当数值为0时,可以省略单位,
padding: 0; margin: 0;
- 当数值为 0 - 1 之间的小数时,省略整数部分的
0
,如opacity: .8;
- 当数值为0时,可以省略单位,
z-index 一般以 5或10 为一个步长(如50,60,70),方便以后增加或修改
!important' 尽量不使用
!important
声明。字体
font-family
属性中的字体族名称应使用字体的英文Family Name
,其中如有空格,须放置在引号中。所谓英文 Family Name,为字体文件的一个元数据,常见名称如下:
字体 操作系统 Family Name 宋体 (中易宋体) Windows SimSun 黑体 (中易黑体) Windows SimHei 微软雅黑 Windows Microsoft YaHei 微软正黑 Windows Microsoft JhengHei 华文黑体 Mac/iOS STHeiti 冬青黑体 Mac/iOS Hiragino Sans GB 文泉驿正黑 Linux WenQuanYi Zen Hei 文泉驿微米黑 Linux WenQuanYi Micro Hei //css用法
h1 {
font-family: "Microsoft YaHei";
}
字号
- 需要在 Windows 平台显示的中文内容,其字号应不小于
12px
。
- 需要在 Windows 平台显示的中文内容,其字号应不小于
字重
- CSS 的字重分 100 – 900 共九档,但目前受字体本身质量和浏览器的限制,实际上支持
400
和700
两档,分别等价于关键词normal
和bold
- CSS 的字重分 100 – 900 共九档,但目前受字体本身质量和浏览器的限制,实际上支持
行高
line-height
默认全局定义为 1.5 比较舒适,可根据实际情况调整
Hack 针对某个浏览器写的样式或某个浏览器BUG的样式,必须加上注释说明
// css
.clearfix{
zoom:1; /* for IE6 IE7 */
}
CSS通用编码规范的更多相关文章
- CSS命名规范
DIV+CSS规范命名大全集合 前端人员必看CSS命名规范 整理: 文件名必须由小写字母.数字.中划线组成 ).所有的命名最好都小写,一律采用小写加中划线的方式,不允许使用大写字母或 _2).属性的值 ...
- CSS书写规范、命名规范、网易CSS框架NEC
网易CSS框架NEC:http://nec.netease.com/ NEC框架的CSS规范: CSS规范 - 分类方法 CSS规范 - 命名规则 CSS规范 - 代码格式 CSS规范 - 优化方案 ...
- html和css书写规范
HTML 规范 分离的标记.样式和脚本 结构.表现.行为分离 在可能情况下验证你的标记 使用编辑器验证你的标记是否正确,一般编辑器都自带有这个功能. 技术不支持的时候使用备胎,如canvas 编码格式 ...
- html,css命名规范 (转)
HTML+CSS命名规范总结 1.HTML部分 1.1添加必须的utf-8的字符集,并且使用HTML5的简洁 方式: <meta charset="utf-8"> 1. ...
- CSS书写规范
一.CSS书写顺序 1.位置属性(position,top,right,z-index,display,float等) 2.大小(width,height,padding,margin) 3.文字系列 ...
- 推荐大家使用的CSS书写规范、顺序
写了这么久的CSS,但大部分前端er都没有按照良好的CSS书写规范来写CSS代码,这样会影响代码的阅读体验,这里总结一个CSS书写规范.CSS书写顺序供大家参考,这些是参考了国外一些文章以及我的个人经 ...
- 分享给大家的CSS书写规范、顺序
写了这么久的CSS,但大部分前端er都没有按照良好的CSS书写规范来写CSS代码,这样会影响代码的阅读体验,这里总结一个CSS书写规范.CSS书写顺序供大家参考,这些是参考了国外一些文章以及我的个人经 ...
- CSS书写规范及顺序
CSS书写顺序 1.位置属性(position, top, right, z-index, display, float等)2.大小(width, height, padding, margin)3. ...
- web前端开发CSS命名规范参考
做为一个web前端工程师,每天接触HTML.css就像吃饭一样,但是作为一名合作.优秀的web前端工程师,对DIV+CSS命名还是有一定的规范的,本文整理了一份web前端开发中DIV+CSS各种命名规 ...
随机推荐
- windbg命令学习2
一.windbg查看内存命令: 当我们在调试器中分析问题时, 经常需要查看不同内存块的内容以分析产生的原因, 并且在随后验证所做出的假设是否正确. 由于各个对象的状态都是保存在内存中的, 因此内存的内 ...
- CDC不同模式在ODI体现系列之二 异步模式
CDC不同模式在ODI体现系列之二 异步模式 2 异步模式需要在数据库中做一些准备工作: 改数据为归档并启用logminer: SQL> shutdown immediate 数据库已经关闭. ...
- windows 8 metro 开发学习资源链接
原文 http://www.cnblogs.com/icuit/archive/2012/05/30/2525979.html windows8 metro开发资源目前还是以MSDN为主,做了一个li ...
- XCode破解真机调试
XCode破解真机调试 3.0 一.这样做以后能怎样 以device模式编译出app 可以再越狱后的设备上运行 二.要会点什么 命令行,也就是terminal.终端.控制台... vim 三.开始吧 ...
- HDU 5972 Regular Number(ShiftAnd+读入优化)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5972 [题目大意] 给出一个字符串,找出其中所有的符合特定模式的子串位置,符合特定模式是指,该子串 ...
- poj2636---Electrical Outlets(插线板)
#include <stdio.h> #include <stdlib.h> int main() { int n,nc,i; scanf("%d",&am ...
- MVC多表联合查询数据显示
随然做过几年.net开发,但一直没有做过MVC框架下的网站,这段时间无事,学习一下.下面的方法是我摸索过程中的一点总结,如果有更好的方法,欢迎告诉我,谢谢. 这段时间我只看了MVC和LinQ两本书,关 ...
- 二叉树的实现 -- 数据结构与算法的javascript描述 第十章
/** * 树,一种非线性的数据结构. 以分层的方式存储数据. * 一棵树最上面的节点成为根节点,如果一个节点下面有多个节点,这个节点称为父节点,下面的节点称为子节点 * 没有任何子节点的节点,陈宝国 ...
- AdventureWorks2008 数据库安装
我使用的操作系统是 win 8.1,由于对早前安装的sql server 2008的兼容性不太好,要安装对应的service pack来解决一下这个问题. 如何使用 SQL Server 在 Wind ...
- C# 微信公众平台开发(1)-- 服务器配置
题记:最近公司需要开发微信服务号,由本人负责,以前虽然听过微信开发,但并没有认真的去了解,项目开发中,也边看文档边开发,记录自己的项目开发经验: 1.注册帐号--填写服务器配置 在https://mp ...