CSS最佳实践

CSS最佳实践(or规范):

1.命名:
 1.1、采用通俗易懂的英文单词并按内容/功能命名;
   {常用命名英文:page、wrap、layout、header(head)、footer(foot、ft)、content(cont)、menu、nav、main、submain、sidebar(side)、logo、banner、        title(tit)、popo(pop)、icon、note、btn、txt、iblock、window(win)、tips等}。
 1.2、一律采用小写中划线方式命名,如:widget-title,widget-bd ;
 1.3、除布局、唯一独立模块外建议少用id,必须保证id唯一性;
 1.4、尽可能提高代码模块的复用{外观和感觉可以通用,而位置不可以},给模块进行命名空间,如:.widget{...};.widget-title{...};.widget-bd{...};
 1.5、为了保证性能,请避免元素选择器和类选择器以及id选择器混用;例如ul#nav{};div.error{};

2.CSS书写:
 2.1、顺序:
   <1>显示属性: display | position| z-index  | list-style|float | clear | overflow | zoom| cursor | ... ;
   <2>盒模型:margin | padding | width | height | border ;
   <3>文本属性:vertical-align | white-space | text-decoration | text-align | color | font | content | ... ;
   <4>背景:background ;

 2.2、属性能缩写的尽量缩写,如margin、padding、font{font-style font-variant font-weight font-size/line-height font-family}、border{border-width     border-style border-color}、background(background-color background-image background-repeat background-attachment background-position)等。

 2.3、a标签伪类书写要严格按照a:link,a:visited,a:hover,a:active的顺序,否则在某些浏览器中会失效。

3.编码:
 3.1、采用utf-8编码。在样式文件的第一行加入:@charset "utf-8";
 3.2、为了防止文件合并及编码转换时造成问题,建议将样式中文字体名字改成对应的英文名字,如:黑体(SimHei) 宋体(SimSun) 微软雅黑(Microsoft Yahei,几个单词中间有空格组成的必须加引号)。

4.重置:
 4.1、重置标签的默认样式,获得跨浏览器一致的效果,如:body,h1-h6,p,ul,ol,li,dl,dt,dd,...{margin:0;padding:0}。
 4.2、body元素一定要设置background-color,避免用户修改默认值后引起兼容性问题,如:background-color:"#ffffff"。
 4.3、如果字体大小要使用em,可以设定body{font-size:62.5%},这就等于把基准大小从16像素改为10像素(16×62.5%=10),如:1em等于10像素,1.5em等于15像素;
 4.3、推荐根据Eric Meyer's reset.css 或 YUI's reset.css进行扩展。

5.布局:
 5.1、减少使用影响性能的属性, 比如position:absolute || float ;
 5.2、浮动非图片元素时,必须给它设定宽度,否则后果难以预料;图片无所谓,因为它本身有默认的宽度 ;
 5.3、{overflow:hidden}的2个作用:<1>.防止包含元素被超大内容撑大;<2>.可靠地迫使父元素包含其浮动的子元素 ;
 5.4、z-index必须清晰明确,页面弹窗为最顶层{取值范围900~999,如showWin、pop等};气泡为中间层级{取值范围100~899};普通区块为最底层{取值范围为1~99} ;
 5.5、应该给所有栏的外包装元素应用word-wrap:break-word声明,以便所有栏及其内容继承这个设定,以解决潜在换行的问题 ;

6.图片:
 6.1、命名全部用小写英文字母、数字、_的组合,命名分头尾两部分,用下划线隔开,如:ad_banner.jpg, btn_submit.png ;
 6.2、图片格式仅限于 gif || png || jpg ;
 6.3、在保证视觉效果的情况下选择最小的图片格式与图片质量, 以减少加载时间{PS中保存图片一定要使用"文件--存储为Web所有格式..."或者快捷键Alt+Shift+Ctrl+S} ;
 6.4、用png格式的图片时,要求图片格式为png-8格式,若png-8实在影响图片质量或其中有半透明效果, 请为ie6单独定义背景图片 ;
 6.5、背景图片请尽可能使用sprite技术{按模块制作},减小http请求,{注意,请务必备份你的sprite psd源文件} ;
 6.6、所有页面元素类图片均放入img文件夹,测试用图片放于img/demo/文件夹中 ;


7.0后面不要加上单位;小数前不要加上0 。

8.字体粗细采用具体数值,粗体bold写为700,正常normal写为400 。

9.设置颜色时统一使用十六进制的颜色单位,使用color:#ff0000替代color:red 。

10.能不用时尽量不用CSS Hack,出现兼容性问题时,首先检查自己的代码是符合标准 。

11.除了CSS Hack和浏览器私有属性,推荐使用w3c css validator 或 csslint 校验代码 。
整理了一份CSS规范,大家出来讨论下,看有没有补充的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值