高效编写CSS代码的建议汇总

2020-05-02 08:16:42易采站长站整理

<!DOCTYPE html>  
<title>Saving money, saving bytes</title>  
<p>Qed.  

  3.3 文件结构

  由于图像等资源一般只有CSS文件使用,故可将图像文件夹放到CSS文件同级目录,这样就可使用相对路径,节省字节数

CSS Code复制内容到剪贴板

input {background: url("images/shadow background.gif");}  

  3.4 文件夹命名

  通常文件夹会被命名为其所代表的资源的复数形式

images
assets
fonts

  其实大可不必,使用单数形式可以节省许多字节,尤其是当每个项目的结构都类似时

img
asset
font

  对于下面一段包含58字节的代码:

CSS Code复制内容到剪贴板

input {background: url("/images/shadow background.gif");}  

  优化后变为52字节,即10%的压缩:

CSS Code复制内容到剪贴板

input {background: url(img/shadow-background.gif);}  

  如果在使用缩写,则可进一步缩减:

input {background: url(img/shadow-bg.gif);}

  如果一个项目有几百行这样的代码,那么就会节省几百字节了。如果站点访问量超大,则可节省数目客观的带宽资源。

  3.5 末尾声明的分号

  前面提过,去掉末尾声明的分号可以节省字节,但不利于维护。可以考虑在压缩发布阶段去掉。

CSS Code复制内容到剪贴板

.clear {clear:both;}   
  
.clear {clear:both}  

  3.6 背景色简写

  背景色简写也可节省字节,但要慎用,因为省略掉的默认属性会覆盖前面的属性。

  3.7 滤镜简写

CSS Code复制内容到剪贴板

selector {   
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=65)";   
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=65);   
}  

  filter的版本是IE8以下的,–ms-filter的版本是IE9以上的,YUI会将其压缩为:

CSS Code复制内容到剪贴板

selector {   
        -ms-filter:"alpha(opacity=65)";   
        filter:alpha(opacity=65);   
}   

  由于YUI的广泛使用极其社区开发着的强大力量,说明这种写法已经是经过深度测试的写法,可以放心使用。

  3.8 Gzip压缩与CSS书写

  Goolge建议按照字母顺序书写CSS规则,方便维护。其他公司也有自己的规范。从Gzip压缩角度,只要整个文档中的书写顺序保持一致即可,可以提高Gzip压缩比率。