单行形式书写风格的排版约束

1.      每一条规则的大括号 { 前后加空格

2.      多个selector共用一个样式集,则多个selector必须写成多行形式

3.      每一条规则结束的大括号 } 前加空格

4.      属性名冒号之前不加空格,冒号之后加空格

5.      每一个属性值后必须添加分号; 并且分号后空格

例如:

div.test { width: 100px; height: 200px; }

a:focus,

a:hover { position: relative; right: 1px; }

多行形式书写风格的排版约束

1.      每一条规则的大括号 { 前添加空格

2.      多个selector共用一个样式集,则多个selector必须写成多行形式

3.      每一条规则结束的大括号 } 必须与规则选择器的第一个字符对齐

4.      属性名冒号之前不加空格,冒号之后加空格

5.      属性值之后添加分号;

其他规范

1.      使用单引号,不允许使用双引号

2.      如果使用CSS3的属性,如果有必要加入浏览器前缀,则按照webkit- / -moz- / -ms- / -o- / std的顺序进行添加,标准属性写在最后,并且属性名称要对齐,例如:

div.animation-demo {

-webkit-animation: mymove 5s infinite;

-moz-animation: mymove 5s infinite;

-o-animation: mymove 5s infinite;

animation: mymove 5s infinite;

}

命名规则书写规范

1、规则命名中,一律采用小写加中划线的方式,不允许使用大写字母或 _

2、命名避免使用中文拼音,应该采用更简明有语义的英文单词进行组合

3、命名注意缩写,但是不能盲目缩写,具体请参见常用的CSS命名规则

4、不允许通过1、2、3等序号进行命名

5、避免class与id重名

6、id用于标识模块或页面的某一个父容器区域,名称必须唯一,不要随意新建id

7、class用于标识某一个类型的对象,命名必须言简意赅。

8、尽可能提高代码模块的复用,样式尽量用组合的方式

9、规则名称中不应该包含颜色(red/blue)、定位(left/right)等与具体显示效果相关的信息。应该用意义命名,而不是样式显示结果命名。

10、除了重置浏览器默认样式外,禁止直接为html tag添加css样式设置,例如:

div {

width: 200px;

font-size: 16px;

}

11、每一条规则应该确保选择器唯一,禁止直接为全局.nav/.header/.body等类设置属性

属性编写顺序

推荐的样式编写顺序

1、显示属性

display/list-style/position/float/clear

2、自身属性(盒模型)

width/height/margin/padding/border

3、背景

background

4、行高

line-height

5、文本属性

color/font/text-decoration/text-align/

text-indent/vertical-align/white-space/content

6、其他

cursor/z-index/zoom

7、CSS3属性

transform/transition/animation/box-shadow/border-radius

8、链接的样式请严格按照如下顺序添加:

a:link -> a:visited -> a:hover -> a:active(LoVeHAte)

性能优化

1.      选择器应该在满足功能的基础上尽量简短,减少选择器嵌套,查询消耗。但是一定要避免覆盖全局样式设置。

2.      注意选择器的性能,不要使用低性能的选择器,例如:

div > * {}

ul > li > a {}

body.profile ul.tabs.nav li a {}

3.      禁止在css中使用*选择符

4.      除非必须,否则,一般有class或id的,不需要再写上元素对应的tag,例如:

div#test { width: 100px; }

5.      0后面不需要单位,比如0px可以省略成0,0.8px可以省略成.8px

6.      如果是16进制表示颜色,则颜色取值应该大写。

7.      如果可以,颜色尽量用三位字符表示,例如#AABBCC写成#ABC

8.      如果没有边框时,不要写成border:0,应该写成border:none

9.      尽量避免使用AlphaImageLoader

10.    在保持代码解耦的前提下,尽量合并重复的样式

11.    background、font等可以缩写的属性,尽量使用缩写形式

hack

IE6   * html selector { … }

IE7   *+html selector { … }

非IE6      html>body selector { … }

firefox     @-moz-document url-prefix() { … }

safari3+/chrome    @media screen and (-webkit-min-device-pixel-ratio:0) { … }

opera     @media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) { … }

iPhone/mobile webkit   @media screen and (max-device-width: 480px) { … }

z-index取值规范

头部导航区域

[1999 - 2100]

publisher所在的内容head区

[1998]

页面主要内容区域

[-1 - 1997]

页面底部

[1999 - 2100]

首页应用弹层

[1000]

全站公共组件

[-1 - 1999]

全页面蒙层弹窗组件

[10000-11000]

其他

1、字体名称请映射成对应的英文名,例如:黑体(SimHei) 宋体(SimSun) 微软雅黑 (Microsoft Yahei),如果字体名称中有空格,则必须加单引号。

2、背景图片请合理使用csssprites,按照模块、业务、页面来划分均可

3、css背景图片的文件类型,请按照以下原则来保存:

3.1 如果背景图片有动画,则保存成gif

3.2 如果没有动画,也没有半透明效果,则保存成png-8

3.3 如果有半透明效果,则保存成png-24

4、不要在html中加入标签来清理浮动,通过在浮动元素的父元素上添加.clearfix来清除浮动

5、为了SEO和页面可用性,请使用text-indent来隐藏文本内容。

6、制作css sprites时,尽量把颜色相近的图标放在一起,存储为png8格式,存储完以后还能用一些压缩工具进行无损压缩。

7、避免过小的背景图片平铺。

8、尽量少用!important

9、避免使用非一次性expression

[转]CSS编码规范的更多相关文章

  1. css编码规范

    css编码规范 https://segmentfault.com/a/1190000002460968 常用样式测试工具 W3C CSS validator:http://jigsaw.w3.org/ ...

  2. HTML编码规范、CSS编码规范

    HTML编码规范 IE 兼容模式 IE 支持通过特定的 标签来确定绘制当前页面所应该采用的 IE 版本.除非有强烈的特殊需求,否则最好是设置为 edge mode,从而通知 IE 采用其所支持的最新的 ...

  3. Bootstrap-Other:CSS编码规范

    ylbtech-Bootstrap-Other:CSS编码规范 1.返回顶部 1. Bootstrap CSS编码规范 语法 用两个空格来代替制表符(tab) -- 这是唯一能保证在所有环境下获得一致 ...

  4. 8.Bootstrap CSS编码规范

    Bootstrap CSS编码规范 本节的介绍内容为 Bootstrap 中的 CSS 编码规范. 语法 用两个空格来代替制表符(tab) -- 这是唯一能保证在所有环境下获得一致展现的方法. 为选择 ...

  5. 总结-css编码规范

    一.注释 统一采用 :/* 注释内容 */ 二.命名 1.常用命名(多查单词) 参考命名规范.doc 2.选择器 1> [建议] 选择器的嵌套层级应不大于 3 级,位置靠后的限定条件应尽可能精确 ...

  6. CSS 编码规范

    转自: https://segmentfault.com/a/1190000005046830 CSS书写格式 1.格式化代码 1.1文件 [建议]:CSS文件使用无BOM的UTF-8编码 1.2缩进 ...

  7. 前端HTML与CSS编码规范

    HTML 语法 HTML5 doctype 语言属性(Language attribute) 字符编码 IE 兼容模式 引入 CSS 和 JavaScript 文件 实用为王 属性顺序 布尔(bool ...

  8. Google HTML/CSS 编码规范

    Google HTML/CSS 规范 本文介绍了 Google 推荐的 HTML 和 CSS 编写格式规范,以建立良好的个人编码习惯. 1.通用样式规范 省略图片.样式.脚本以及其他媒体文件 URL ...

  9. HTML CSS 编码规范

    返璞归真,代码规范也是一门艺术 黄金定律 永远遵循同一套编码规范 -- 可以是这里列出的,也可以是你自己总结的.如果你发现本规范中有任何错误,敬请指正.通过open an issue on GitHu ...

  10. 前端(HTML/CSS/JS)-CSS编码规范

    1. 文件名规范 文件名建议用小写字母加中横线的方式.为什么呢?因为这样可读性比较强,看起来比较清爽 https://stackoverflow.com/questions/25704650/disa ...

随机推荐

  1. Atitit 贝叶斯算法的原理以及垃圾邮件分类的原理

    Atitit 贝叶斯算法的原理以及垃圾邮件分类的原理 1.1. 最开始的垃圾邮件判断方法,使用contain包含判断,只能一个关键词,而且100%概率判断1 1.2. 元件部件串联定律1 1.3. 垃 ...

  2. fir.im Weekly - 不能错过的 GitHub Top 100 开源库

    好的工具&资源,会带来更多的灵感.本期 fir.im Weekly 精选了一些实用的 iOS,Android 的使用工具和源码分享,还有前端.UI方面的干货.一起来看下:) Swift 开源项 ...

  3. 开源IM工程“蘑菇街TeamTalk”的现状:一场有始无终的开源秀

    1.前言 随着云IM的发展,已吸引越来越多有IM需求的APP接入.但考虑到云IM无论从商业模式还是运营模式上,还需经过多年的沉淀,才可能真正实现客户与服务商的运营和服务良性循环的双赢局面.在此之前,加 ...

  4. KnockoutJS 3.X API 第三章 计算监控属性(2) 可赋值的计算监控属性

    .liveexample{ padding: 1em; background-color: #eeeedd; border: 1px solid #ccc; max-width: 655px; fon ...

  5. Winform实现Shp-栅格图形文件的读取与显示(外加shp转WKB格式存入oracle)附源码

    前言:上学期GIS空间数据库课程设计时,老师让实现Shp-栅格图形文件的读取与显示,外加shp转WKB格式存入oracle,不使用第三方类库,花了一天时间在网上找了一些资料,实现了一个简单的栅格图形文 ...

  6. MIME参考列表

    定义 MIME(multipurpose internet mail extensions)多用途互联网邮件扩展类型是描述消息内容类型的因特网标准.MIME消息能包含文本.图像.音频.视频以及其他应用 ...

  7. 轻松自动化---selenium-webdriver(python) (四)

    本节要解决的问题: 如何定位一组元素? 场景 从上一节的例子中可以看出,webdriver可以很方便的使用findElement方法来定位某个特定的对象,不过有时候我们却需要定位一组对象, 这时候就需 ...

  8. Testing - 测试基础 - 模型

    珠玉在前,不再赘言. 软件测试模型 软件测试模型汇总

  9. 【Swift学习】Swift编程之旅---类和结构体(十三)

    与其他编程语言所不同的是,Swift 并不要求你为自定义类和结构去创建独立的接口和实现文件.你所要做的是在一个单一文件中定义一个类或者结构体,系统将会自动生成面向其它代码的外部接口. 注意:通常一个类 ...

  10. 给swift程序猿留下深刻印象的10个Swift代码

    通过使用单行代码完成同样的 10 个练习,我们来看看 Swift 和其他语言之间的较量. 将数组中每个元素的值乘以 2 使用map来实现 var arr = [1,2,3,4]; var newArr ...