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

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

转载于:https://my.oschina.net/x3d/blog/705595

[转]CSS编码规范相关推荐

  1. 人人FED CSS编码规范

    完整PDF下载链接:<人人FED CSS编码规范> 浏览器特效支持规范 为了页面性能考虑,如果浏览器不支持CSS3相关属性的,则该浏览器的某些特效将不再支持,属性的支持情况如下表所示:   ...

  2. web项目开发 之 前端规范 --- CSS编码规范

    此文严格按照W3C规范和部分实际项目可读性,浏览器加载,性能等众多属性权衡,做出平时前端编码规范 文档.供广大web工作者参考并实施,对维护和项目扩展升级都能省时省力. 转载请注明出处:JS前端实用开 ...

  3. 史上最精辟的html/css编码规范(转)

    黄金定律 永远遵循同一套编码规范,不管有多少人共同参与同一项目,一定要确保每一行代码都像是同一个人编写的. HTML 语法 用两个空格来代替制表符(tab) -- 这是唯一能保证在所有环境下获得一致展 ...

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

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

  5. Bootstrap CSS编码规范之代码组织规范

    代码组织 应该按照以下规范组织代码: 以组件为单位组织代码段. 制定一致的注释规范. 使用一致的空白符将代码分隔成块,这样利于扫描较大的文档. 如果使用了多个 CSS 文件,将其按照组件而非页面的形式 ...

  6. Bootstrap CSS编码规范之选择器使用规范

    选择器 选择器应该遵守以下规范: 对于通用元素使用 class ,这样利于渲染性能的优化. 对于经常出现的组件,避免使用属性选择器(如,[class^="..."]).浏览器的性能 ...

  7. Bootstrap CSS 编码规范之Class 命名规范

    Class 命名规范 Class 应该遵守以下命名规范: class 名称中只能出现小写字符和破折号(不是下划线,也不是驼峰命名法).破折号应当用于相关 class 的命名(类似于命名空间)(如,.b ...

  8. 戏说前端之CSS编码规范

    前言 项目启动时 css 应该注意哪些问题 文件名规范 文件名建议用小写字母加中横线的方式.为什么呢?因为这样可读性比较强,看起来比较清爽,像链接也是用这样的方式,例如 // 地址: github的地 ...

  9. Bootstrap CSS 编码规范之注释

    注释 代码是由人编写并维护的.请确保你的代码能够自描述.注释良好,且易于他人理解.好的代码注释能够传达上下文关系和代码意图.不要简单地重复组件或 class 的名称. 对于较长的注释,务必书写完整的句 ...

最新文章

  1. Linux系统分辨率设置
  2. Shark0.9.1安装
  3. python的none是什么-python中的null与none有什么区别
  4. 互联网员工桌子上的药
  5. 面象对象设计6大原则之一:单一职责原则
  6. Linux-RHEL5-初学者配置vsftpd注意事项
  7. 这套网红试卷火了!数学老师您应该是文案出身吧?
  8. Windows 7 切换Python版本
  9. PHP是4个进程还是五个,PHP多进程(4) :内部多进程
  10. UESTC 574 High-level ancients
  11. 微信加好友CALL地址 3.4.5.27
  12. 阿里云商标注册流程步骤-阿里云商标自助注册申请步骤
  13. SAD算法的OpenCV实现
  14. java-php-python-ssm新生报到管理计算机毕业设计
  15. 2018面试题目总结1
  16. ZJOI2017 仙人掌
  17. 2.4G与5GWiFi频段的区别
  18. gethostbyname函数用域名或主机名获取IP地址
  19. 中国移动,联通,电信
  20. 热门软件中文在线文档

热门文章

  1. 文件恢复 文件改名后如何恢复原来名称分享操作步骤
  2. 利用腾讯云函数服务进行每日wps签到打卡(部分失效)
  3. CentOS8 解决SSH Secure Shell 报错 Algorithm negotiation failes
  4. 大数据管理平台(一)概述
  5. 基于JavaWeb的新闻发布管理系统设计与实现
  6. STM32F4主板硬件设计与接口
  7. 【SSM】SSM整合
  8. 《算竞(紫书)》笔记1 STL入门
  9. 一万字一篇文20分钟学会C语言和Python,十四年编程经验老鸟传授经验之道
  10. 阿里云云服务器ECS