日期:2013-05-17  浏览次数:21382 次

核心提示:每团体都可以编写CSS代码,甚至你如今曾经让它为你的项目任务了。但是CSS还可以更好吗?用这五个方面改进你的CSS,会让你显得愈加专业,也能使代码有好!

  每团体都可以编写CSS代码,甚至你如今曾经让它为你的项目任务了。但是CSS还可以更好吗?用这五个方面改进你的CSS,会让你显得愈加专业,也能使代码有好!

一、重置

  首先,很认真的通知你,总是要重置某些分类。无论你是使用 Eric Meyer Reset、YUI Reset,或者你本人编写的重置代码,只需使用就对了。
  它能很简单的移除所有元素的填充(padding)和边距(margin):

  Eric Meyer Reset和YUI Reset都是非常强大的,但是对于我而言,它们走的太远了。我觉得你最终需求重置一切,然后重新定义所有元素的属性。这就是为什么Eric Meyer推荐更无效的使用(重置款式表),而你不要只是使用他的重置款式表,将它拖放到你的项目中。调整它(的重置款式表),建立属于本人的重置款式表。
噢,请停止使用:

* { margin: 0; padding: 0; }


  花更多的时间去制造它,当你移除了填充(padding)你认为单选按钮会发生什么变化?表单元素有时能够做些时髦的事情,所以最无效的方式就是将他们独立。

二、排序

  一个小的测试:这个例子就是要让你思考如何更快的找到左边距属性?


  你不能通知我Example#2不能更快的找到左边距属性。依据字母排序你的元素属性。分歧的创建你的CSS,将协助你节省花费在寻觅一个特殊属性的时间。


  我知道一些人用这样的方法去组织代码,其他人又用另一种方法去组织,但是在我的公司,我们协商分歧做出决定,所有的代码都将按照字母排序来组织。通过这样组织代码与其他人协同任务一定是有协助的。当我碰到属性没有按照字母排序的层叠款式表我每一次都会退缩。

三、组织

  你应该组织你的款式表致使相关的内容靠在一同,更简单的找到想要的。使用更无效的注解。举个例子,这是我如何结构我的层叠款式表:

/*****Reset*****/移除元素的填充(padding)和边距(margin)。
/*****Basic Elements*****/定义基本元素的款式: body, h1-h6, ul, ol, a, p, 等.
/*****Generic Classes*****/定义简单的风格,好像浮动的某一侧, 移除元素的下边距, 等当然,它们大部分都与我们希望的语义不相关,但是它们是高效处理代码所必须的。
/*****Basic Layout*****/定义基本的模板: header, footer等. 协助定义网页规划的基本元素
/*****Header*****/定义所有Hearder元素
/*****Content*****/定义所有内容框内的元素
/*****Footer*****/定义所有Footer的元素
/*****Etc*****/定义其他的选择器。通过注解和归类类似元素的分组,将更快的找到你想要的。


四、分歧性

  无论你决定使用什么方式去编写代码,保持分歧。我曾经对全部放在1行VS多行的CSS编写编写方式的争论感到乏味和疲倦。这是不需求争辩的。每团体都有本人的观点,所以选择一种你喜欢的任务方式,并在所有的款式表中保持分歧。
  就我团体而言,我将使用两者结合的方式。如果一个选择器超过了3个属性,我将截断它采用多行的方式编写。


  所以找到你喜欢的任务方式然后保持分歧。

五、从正确的地方开始

  在完成标记言语之前不要去尝试靠近你的款式表。


  当我预备分割一张网页的时候,创建CSS文件之前,我需求预览并且标记body开标签到body的闭合标签之间的所有文档。我不会添加额外的DIV ,ID,或者类选择器。我将会添加一些普通的DIV,就好像hearder、content、footer.由于我知道这些东西是理想存在的。


  通过先标记文档,你将不会碰到本已注定的divities1和classitis2麻烦!/*You only need to add in that stuff once you have begun to write the CSS and realize that you are going to need another hook to accomplish what you are trying to achieve.*/(原文未译)。


  利用CSS子选择器指定子元素;不要只是机械的给元素添加类或者ID选择器。记住:没有一个良好的格式化文档(或者标记结构)CSS是无价值的。