整理优化你的CSS代码

  •   2009-07-31/13:29
  • 当我们面对网站项目里日益庞大的css,javascript文件,无论是为了二次开发还是浏览器解析,都应该优化他们的代码,但是优化并不意味着是简单的压缩或减小文件体积。条理清晰,运行效率高才是我们要的结果。那么有哪些手段能够我们的css代码呢?一起来看看下面的一些建议吧。
    1.使用缩写

    缩写能够缩短你的工作时间,减小你的文件体积,何乐而不为?

    针对相近的不同设置不同的值:
    view plaincopy to clipboardprint?
    p {  
        margin-top: 10px;  
        margin-right: 20px;  
        margin-bottom: 30px;  
        margin-left: 40px;  

    p {
     margin-top: 10px;
     margin-right: 20px;
     margin-bottom: 30px;
     margin-left: 40px;
    }

    使用缩写:
    view plaincopy to clipboardprint?
    p { margin: 10px 20px 30px 40px; } 

    p { margin: 10px 20px 30px 40px; }

     

    再来看看常用的font的缩写


    查看 CSS Shorthand Guide (英) 和 Efficient CSS with shorthand properties (英) 了解更多关于缩写的属性。

    2.避免使用Hack


    Jon Hick的 blog hicksdesign.co.uk/journal 利用浏览器条件性注释

    Hack是一个糟糕的东西,它会为不同浏览器定义一样的代码,使得CSS繁冗。现在我们知道使用条件性注释来代替hack,他们在IE6和IE7中是被认可的,甚至IE团队也推荐这样使用。使用条件性注释服务于符合浏览器特性专用的CSS代码,因此,更小的、核心的CSS代码用来服务于遵从标准的浏览器,只有需求条件出现的时候(比如IE),才会去下载额外的CSS文件!

    下面来看看IE6使用条件性注释的代码范例:
    view plaincopy to clipboardprint?
    <!--[if IE 6]>  
        <link rel="stylesheet" type="text/css" href="ie6.css">  
    <![endif]--> 

    <!--[if IE 6]>
     <link rel="stylesheet" type="text/css" href="ie6.css">
    <![endif]-->

    这段代码使得IE6去下载额外的ie6.css解析它专用的css代码。同样的,如果针对IE7只用把上面的6与7替换就行了。

    3.使用留白

    无论是为了自己阅读还是二次开发,都要让CSS保持良好的可读性,留白就充当了关键的角色。
    我们不鼓励你为了得到一个更小的CSS文件,就去掉所有的空白格式,如tab,换行,空格等。这里推荐嵌套的代码使用一个tab缩进,所有属性独立一行。

     

    对比上下的图片,是哪一种格式能让你更加节约修改的时间呢?留白会让你更加容易管理代码。

    4.移除多余的frameworks和resets


    Nathan Smith的 960 Grid System CSS framework使用的重置规则

    如果你选择使用CSS framework,包括你自己写的,如果你去检查代码一定会发现该framework包含的一些规则并不适用于你当前的文件,它们是可以被删除的。
    由此可以想到的还有reset,YUI Grid CSS使用的reset和Eric Meyer's Reset 目前都很流行, Resets能够移除不同浏览器的默认样式,使得页面在各个浏览器之间的表现一致。但是它们通常包含了一个大的网站需要的所有属性,一些例如pre,code,sub,dfn,var等等属性对于普通网站来说根本不会用上,删掉那些你用不上的。Eric Meyer也会鼓励你这样做!
    framework和reset会很好的帮助你的工作,但是如果不去掉那些你用不上的使用,反而会拖累你页面的效率和可读性。

    5.扩展的CSS


    Doug Bowman的 stopdesign.com CSS 为层使用特殊的选择器

    另一种优化你的代码的方法就是分别为层进行具体的属性声明。

    6.记录你的工作

     

    在团队协作中,沟通书写标准,编码规范,注释方法,风格极为重要。规则是建立在一个一致的方法的标准。这样能够防止别人重复你已经做过的工作,防止代码的膨胀。

    7.压缩使用

    为了使得浏览器节省更多下载个载入时间,压缩是一个不错的解决方案,但是仅限于发布的时候。YUI Compressor 和 CSSTidy 就是这样方面的专家,他们能够去除多余的代码,校验属性互相覆盖的错误。
    许多流行的编辑器,比如BBEdit, TextMate, 和 TopStyle 都能够帮助你格式化你的CSS代码成你想要的样子。你还能通过服务器压缩技术使用PHP处理你的CSS。你可以找到更多的CSS优化和压缩的CSS工具。

    有一点,这些程序尽可能会降低错误的发生,但并不是完美的。同样,最好不要用他们去处理包含CSS hack的文件。这也是另一个让那些hack储存在另外的文件里的原因。

    结束

    --------------------------------------------------------------------------------

    整洁和优化的代码不只是你的文件大小,还包括了维护性和可读性。以上的原理并不只是针对CSS,它们还能应用到HTML,Javascript以及其他编程语言。CSS文件不只是为了呈现给你网站的最终用户。上面的原理可以帮助用户体验以及开发者经验。运用这些原则到你未来的项目中,一定能够获得重大的成效。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多