css命名书写规范小结。
单行形式书写风格的排版约束
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命名书写规范小结。的更多相关文章
- 关于CSS的书写规范和顺序
关于CSS的书写规范和顺序,是大部分前端er都必须要攻克的一门关卡,如果没有按照良好的CSS书写规范来写CSS代码,会影响代码的阅读体验.这里总结了一个CSS书写规范.CSS书写顺序供大家参考,这些是 ...
- css的书写规范+常用
格式化: body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blo ...
- CSS 样式书写规范
可能不同团队都有各自的规范,又或者很多人在写 CSS 的时候还是想到什么就写什么,不存在太多的约束. 我觉得 CSS 代码规范还是有存在的必要的,尤其是在团队配合,多人协作下,规范就显得尤为重要. 本 ...
- CSS 样式书写规范+特殊符号
虽然我只是刚踏入web前端开发圈子.在一次次任务里头,我发觉每一次的css命名都有所不同和不知所措.脑海就诞生了一个想法--模仿大神的css命名样式. 毕竟日后工作上,是需要多个成员共同协作的.如果没 ...
- css的书写规范,有哪些注意点
一.框架为先,细节次之. 先写一些浮动,然后高与宽,然后再是细节方面的书写. 比如写一个浮动容器的样式,我们应该先让这个容器的框架被渲染出来,让大家看到基本的 网站框架.然后再再去渲染容器里面的内容. ...
- css样式书写规范
在工作当中css样式是非常重要的,但是咋样书写css样式更重要. 一.css书写规范 1.定位属性:position display float left top right bottom ...
- 【WEB前端】CSS书写规范
古语有云:不以规矩,不成方圆.不管是国还是家还是...都得有规矩加以约束.同样,在我们程序猿的代码中也有一定的规矩——W3C标准,但是我今天不会讲那么高深的道理,我只想说说,我近些日子在开发中所总结出 ...
- 关于CSS书写规范、顺序
关于CSS的书写规范和顺序,是大部分前端er都必须要攻克的一门关卡,如果没有按照良好的CSS书写规范来写CSS代码,会影响代码的阅读体验.这里总结了一个CSS书写规范.CSS书写顺序供大家参考,这些是 ...
- CSS 命名规范总结
CSS 命名规范总结 BEM 命名给 CSS 以及 html 提供清晰结构,命名空间提供更多信息,模块化提高代码的重用,以达到 CSS 命名语义化.可重用性高.后期维护容易.加载渲染快的要求. 首先, ...
随机推荐
- nyoj 925 国王的烦恼(最小生成树)
/* 题意:N个城市中每两个城市有多条路径连接,可是因为路径存在的天数是有限的!以为某条路经不存在了 导致N个城市不能连通了,那么村名们就会抗议!问一共会有多少次抗议! 思路:最小生成树....我们用 ...
- PHP内核的学习--PHP生命周期
一切的开始: SAPI接口 SAPI(Server Application Programming Interface)指的是PHP具体应用的编程接口, 就像PC一样,无论安装哪些操作系统,只要满足了 ...
- Android自定义Dialog及其布局
实际项目开发中默认的Dialog样式无法满足需求,需要自定义Dialog及其布局,并响应布局中控件的事件. 上效果图: 自定义Dialog,LogoutDialog: 要将自定义布局传入构造函数中, ...
- 开发人员看测试之细说JBehave
上篇我们说到如何从Github上clone出一个JBehave项目,既是为了学习JBehava,也是为了熟悉下Github.从clone下来的项目看来,基本没什么问题,稍微捋一捋就可以运行,但是就cl ...
- REST vs SOAP
REST vs SOAP These information searched from internet most from stackoverflow. Simple explanation ab ...
- 《淘宝技术这十年》之LAMP架构的网站
本文节选自<淘宝技术这十年>一书,子柳(赵超)著,由电子工业出版社出版.作者的系列博文:从P1到P7--我在淘宝这7年 2003年4月7日,马云在杭州成立了一个神秘的组织.他叫来十位员工, ...
- Jmeter操作手册
以前没有发pdf的版本,我现在把pdf版本放在百度网盘里面了,需要的童鞋可以去下载:http://pan.baidu.com/s/1bp43jeJ Ksudi Jmeter操作指南 简要说明 Beck ...
- ios基础之 view的frame 与 bounds 的区别 (转)
前言: 学习ios开发有一段时间了,项目也做了两个了,今天看视频,突然发现view的frame和bound两个属性,发现bound怎么也想不明白,好像饶你了死胡同里,经过一番尝试和思考,终于弄明白bo ...
- 书写高效的CSS
一.使用高效是CSS ①:使用外联样式替代行间样式或内嵌样式. 不推荐使用内联样式:<style></style> 不推荐使用内嵌样式:<p style="&q ...
- C#基础04
介绍:泛型介绍,索引,Foreach遍历的解释,yield方法,path文件操作,Directory类基本操作<目录> 一:泛型 百度资料:泛型是 2.0 版 C# 语言和公共语言运行 ...