如何写一个很小的 CSS 文件

本文介绍了一系列有效减少CSS文件大小的方法,包括简化注释、颜色代码、使用单行属性、设定多个元素属性、删除空白和换行及GZip压缩等。

看了这篇文章,想想自己也经常和 CSS 打交道,对于压缩 CSS 还是有一点心得。总结一下,和大家分享。

我们知道,在 XHTML+CSS 布局流行的今天,CSS 已经成为一个网站事实上的“门面”。那么为什么我们需要一个尽可能小的 CSS 文件呢?这主要是基于流量和读取速度两方面考虑。小的 CSS 文件可以节省你的服务器流量,同时缩短用户打开你网页所需的时间。既节省了流量开支,又获得了更好的用户体验,何乐不为呢?下面我们一起看看有哪些缩小 CSS 的方法。

  1. 简化你的注释
    很多情况下,特别是曾经从事过 C/Java 等语言开发工作的程序员,可能会喜欢写多行注释,例如:
    /*————————*/
    /*—comments——–*/
    /*————————*/
    在编译语言中这样的注释当然没有问题,但在 CSS 中他们会显著的增大 CSS 文件的体积,应该尝试简化成这样:
    /*Comments*/
    这样在保持可读性的同时,减小了文件体积。事实上,在一个真正发布版本的 CSS 文件中,你完全可以去掉这些注释。
  2. 简化颜色代码
    在 CSS 中,我们经常会跟十六进制颜色代码打交道。你可能习惯于写成以下“标准形式”:
    color: #ffffff;
    color: #ff88ff;
    事实上,在 CSS 中是可以简化这个写法的,我们可以写成:
    color: #fff;
    color: #f8f;
  3. 使用单行属性代替多行属性
    在 CSS 中像 margin/padding/font/border 等属性均可以用一行来代替很多行设置,例如:
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 0;
    padding-right: 0;
    我们可以写成:
    padding: 10px 0 10px 0;
    顺序为上、右、下、左,当然,对于 margin 和 padding 属性,当左右/上下的值相同时,还可以写的更简单,例如上面的例子,可写为:
    padding: 10px 0;
    上下左右都相同时,甚至可以写成:
    padding: 10px;
    对于其它缩写方法,可以参考网上一些资料。当然,我更推荐使用 TopStyle 这款软件在写 CSS 的过程中学习,它会给出具体提示。
  4. 当值为 0 时可省略掉单位
    例如:padding: 0;
  5. 同时设定多个元素的属性
    举例说明。例如:
    h1 {
        margin: 0;
        padding: 0;
    }
    h2 {
        margin: 0;
        padding: 0;
    }
    h3 {
        margin: 0;
        padding: 0;
    }
    更赞的写法是这样:
    h1,h2,h3 {
        margin: 0;
        padding: 0;
    }
  6. 删除空白和换行
    这是个很不起眼的操作,但对于脱离了开发阶段,而要应用在网络上的 CSS 而言应该进行这样的处理,至少 Google 所有应用都是这样做的。举个例子:
    h1  {
        margin: 0;
        padding: 0;
    }
    blockquote {
        background-color: #ffcccc;
    }
    应该处理成:
    h1{margin:0;padding:0;}
    blockquote{background:#fcc;}
    事实上,在 CSS 文件中可以不需要任何换行的。但是为了保持代码那么一点点可读性,我还是比较建议每个元素写成一行。现在可以利用一些工具来进行类似的操作,因此它将不会影响你的开发过程。
  7. 设定过期时间,使用 GZip
    如果有条件的话,我们应该设定 CSS 文件的过期时间,并开启 GZip 来传输 CSS 文件。设定前者可以让流行的浏览器缓存你的 CSS 文件,从而避免每次 Load 都要读取文件,大大加快速度同时也降低流量消耗。而开启 GZip 则可以让你的 CSS 文件缩小的难以想象的程度,而且如今流行的浏览器都是支持 GZip 的。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值