现在也有很多准则来帮助你在完成CSS布局后进行CSS代码的压缩和优化。CSS代码优化的目的并不仅仅是减少CSS文件的大小,它还能让你的CSS代码更有条理、更高效。 这里介绍几个方法,写出更优化的CSS代码。
首先,很认真的告诉你,总是要重置某些分类。无论你是使用EricMeyerReset、YUIReset或者你自己编写的重置代码,只要使用就对了。
它能很简单的移除所有元素的填充(padding)和边距(margin): html,body,div,h1,h2,h3,h4,h5,h6,ul,ol,dl,li,dt,dd,p,blockquote, pre,form,fieldset,table,th,td{margin:0;padding:0;}
EricMeyerReset和YUIReset都是非常强大的,但是对于我而言,它们走的太远了。我觉得你最终需要重置一切,然后重新定义所有元素的属性。这就是为什么EricMeyer推荐更有效的使用(重置样式表),而你不要只是使用他的重置样式表,将它拖放到你的项目中。调整它(的重置样式表),建立属于自己的重置样式表。
请停止使用: *{margin:0;padding:0;}
花更多的时间去制作它,当你移除了填充(padding)你认为单选按钮会发生什么变化?表单元素有时能够做些时髦的事情,所以最有效的方式就是将他们独立。
一个小的测试
这个例子就是要让你思考如何更快的找到右边距属性?
Example#1
div#headerh1{
z-index:101;
color:#000;
position:relative;
line-height:24px;
margin-right:48px;
border-bottom:1pxsolid#dedede;
font-size:18px;
}
Example#2
div#headerh1{border-bottom:1pxsolid#dedede;color:#000;font-size:18px;line-height:24px;margin-right:48px;position:relative;z-index:101;}
你不能告诉我Example#2不能更快的找到右边距属性。根据字母排序你的元素属性。一致的创建你的CSS,将帮助你节省花费在寻找一个特殊属性的时间。
我知道一些人用这样的方法去组织代码,其他人又用另一种方法去组织,但是在我的公司,我们协商一致做出决定,所有的代码都将按照字母排序来组织。通过这样组织代码与其他人协同工作一定是有帮助的。当我碰到属性没有按照字母排序的层叠样式表我每一次都会退缩。
你应该组织你的样式表以致相关的内容靠在一起,更简单的找到想要的。使用更有效的注解。举个例子,这是我如何构造我的层叠样式表:
/*****Reset*****/移除元素的填充(padding)和边距(margin)。/*****BasicElements*****/定义基本元素的样式:body,h1-h6,ul,ol,a,p,等./*****GenericClasses*****/定义简单的风格,好像浮动的某一侧,移除元素的下边距,等当然,它们大部分都与我们希望的语义不相关,但是它们是高效处理代码所必须的。/*****BasicLayout*****/定义基本的模板:header,footer等.帮助定义网页布局的基本元素/*****Header*****/定义所有Hearder元素/*****Content*****/定义所有内容框内的元素/*****Footer*****/定义所有Footer的元素/*****Etc*****/定义其他的选择器。 通过注解和归类相似元素的分组,将更快的找到你想要的。
无论你决定使用什么方式去编写代码,保持一致。我已经对全部放在1行VS多行的CSS编写编写方式的争论感到乏味和疲倦。这是不需要争辩的。每个人都有自己的观点,所以选择一种你喜欢的工作方式,并在所有的样式表中保持一致。
就我个人而言,我将使用两者结合的方式。如果一个选择器超过了3个属性,我将截断它采用多行的方式编写。
div#header{float:left;width:100%;}
div#headerdiv.column{
border-right:1pxsolid#ccc;
float:rightright;
margin-right:50px;
padding:10px;
width:300px;
}
div#headerh1{float:left;position:relative;width:250px;}
所以找到你喜欢的工作方式然后保持一致。
在完成标记语言之前不要去尝试靠近你的样式表。
当我准备分割一张网页的时候,创建CSS文件之前,我需要预览并且标记body开标签到body的闭合标签之间的所有文档。我不会增加额外的DIV,ID,或者类选择器。我将会添加一些一般的DIV,就好像hearder、content、footer.因为我知道这些东西是现实存在的。
通过先标记文档,你将不会碰到本已注定的divities1和classitis2麻烦!/*YouonlyneedtoaddinthatstuffonceyouhavebeguntowritetheCSSandrealizethatyouaregoingtoneedanotherhooktoaccomplishwhatyouaretryingtoachieve.*/(原文未译)。
利用CSS子选择器指定子元素;不要只是机械的给元素添加类或者ID选择器。记住:没有一个良好的格式化文档(或者标记结构)CSS是无价值的。
如果你现在还对简写一点都不了解,那你就又写落伍了,不过幸好,学起来并不是很难。使用简写是一种让代码减少的最简单方法。没有比现在更适合实践代码简写的时候了,还等什么,一起来看看吧。
Margin、border、padding、background、font、list-style和outline都是可以进行简写的属性。CSS简写就是不再使用不同的相类似属性的声明…
p{margin-top:10px;
margin-right:20px;
margin-bottom:30px;
margin-left:40px;}
你可以把它们简写成这样:
p{margin:10px20px30px40px;}
另一种优化CSS代码的方法是按照你的习惯将CSS生命分成清晰的结构块。将CSS文件的声明用注释分隔开并进行排版,可以更方便自己在很长时间以后重新审理这个CSS文件,到那时你的效率会高出许多。
如果你是一个设计团队中的一员,那么让你的代码保持规则的一致性并能与其他成语建立良好的沟通是相当重要的,而且还要建立一种网站的标准。例如,团队中的某个成员想出了一个比较不错的网站标签切换界面,记录下来这些想法和注解会帮助团队的其他成员再次使用这种效果,这样能够避免HTML或CSS代码的臃肿。
记录工作主要包括标记向导(markupguides)和样式表向导(stylesheetguides),这种工作并不仅仅适用于团队,也同样适用于一个人的设计工作(一个人的”团队”)。毕竟,在完整一个设计项目之后,经过一年甚至更长的时间,当你再回来看到这些曾经自己写的代码时,也一样会觉得很陌生。将来你会通过自己曾经的记录了解到在那些CSS结构是如何让网页表现的,或那个网页对表单按钮的起到副作用。
记住,一定要养成为CSS写注释的习惯。
巨优网络网站建设为怀柔区企业提供网站建设服务,提供怀柔网站建设、怀柔网站制作、怀柔网站优化服务,为怀柔区各单位提供完善的网站建设解决方案,推动怀柔信息化发展!怀柔做网站,怀柔做网站公司,选巨优网络!咨询热线:010-69632027