CSS学起来并不难,但在大型项目中,就变得难以管理,特别是不同的人在CSS书写风格上稍有不同,团队上就更加难以沟通,为此总结了一些如何实现高效整洁的CSS代码原则:
1. 使用Reset但并非全局Reset
不同浏览器元素的默认属性有所不同,使用Reset可重置浏览器元素的一些默认属性,以达到浏览器的兼容。但需要注意的是,请不要使用全局Reset:
*{ margin : 0 ; padding : 0 ; } |
这不仅仅因为它是缓慢和低效率的方法,而且还会导致一些不必要的元素也重置了外边距和内边距。在此建议参考YUI Reset和Eric Meyer的做法。我跟Eric Meyer的观点相同,Reset并不是一成不变的,具体还需要根据项目的不同需求做适当的修改,以达到浏览器的兼容和操作上的便利性。我使用的Reset如下:
body, h 1 , h 2 , h 3 , h 4 , h 5 , h 6 , hr, p, |
form, fieldset, legend, button, input, textarea, |
body,button, input, select, textarea { |
font : 12px / 1.5 '宋体' , tahoma , Srial, helvetica , sans-serif ; |
h 1 , h 2 , h 3 , h 4 , h 5 , h 6 { font-size : 100% ; } |
ul, ol { list-style : none ; } |
a { text-decoration : none ; color : #333 ;} |
a:hover { text-decoration : underline ; color : #F40 ; } |
table { border-collapse : collapse ; border-spacing : 0 ; } |
2. 良好的命名习惯
无疑乱七八糟或者无语义命名的代码,谁看了都会抓狂。就像这样的代码:
.aaabb{ margin : 2px ; color : red ;} |
我想即使是初学者,也不至于会在实际项目中如此命名一个class,但有没有想过这样的代码同样是很有问题的:
< h1 >My name is < span class = "red blod" >Wiky</ span ></ h1 > |
问题在于如果你需要把所有原本红色的字体改成蓝色,那修改后就样式就会变成:
这样的命名就会很让人费解,同样的命名为.leftBar的侧边栏如果需要修改成右侧边栏也会很麻烦。所以,请不要使用元素的特性(颜色,位置,大小等)来命名一个class或id,您可以选择意义的命名如:#navigation{...},.sidebar{...},.postwrap{...}
这样,无论你如何修改定义这些class或id的样式,都不影响它跟HTML元素间的联系。
另外还有一种情况,一些固定的样式,定义后就不会修改的了,那你命名时就不用担忧刚刚说的那种情况,如
.alignleft{ float : left ; margin-right : 20px ;} |
.alignright{ float : right ; text-align : right ; margin-left : 20px ;} |
.clear{ clear : both ; text-indent : -9999px ;} |
那么对于这样一个段落
< p class = "alignleft" >我是一个段落!</ p > |
如果需要把这个段落由原先的左对齐修改为右对齐,那么只需要修改它的className就为alignright就可以了。
(责任编辑:admin) |