CssGaga教程:css压缩


  • 此功能默认开启
  • 勾选换行则每条规则后换行,否则全部压为一行(MHTML除外)

CssGaga参考了一部分YUI Compressor,拥有比YUI Compressor更极限的压缩

去除注释和空白

Before:

/*****
  Multi-line comment
  before a new class name
*****/
.classname {
    /* comment in declaration block */
    font-weight: normal;
}

After:

.classname{font-weight:normal}

去除结尾的分号

Before:

.classname {
    border-top: 1px;
    border-bottom: 2px;
}

After:

.classname{border-top:1px;border-bottom:2px}

Before:

去除多余的分号

.classname {
    border-top: 1px; ;
    border-bottom: 2px;;;
}

After:

.classname{border-top:1px;border-bottom:2px}

去除无效的规则

Before:

.empty { ;}
.nonempty {border: 0;}

After:

.nonempty{border:0}

去除零值的单位并合并多余的零

Before:

a {
    margin: 0px 0pt 0em 0%;
    background-position: 0 0ex;
    padding: 0in 0cm 0mm 0pc
}

After:

a{margin:0;background-position:0 0;padding:0}

去除小数点前多余的0

Before:

.classname {
    margin: 0.6px 0.333pt 1.2em 8.8cm;
    background: rgba(0, 0, 0, 0.5);
}

After:

.classname{margin:.6px .333pt 1.2em 8.8cm;background:rgba(0,0,0,.5)}

压缩border、outline

Before:

.classname {
    border-left: 0 none;
    border-right: none;
    border: 0 none;
    outline: 0 none;
}

After:

.classname{border-left:0;border-right:0;border:0;outline:0}

色值压缩

Before:

.color-me {
    color: rgb(123, 123, 123);
    border-color: #ffeedd;
    background: none repeat scroll 0 0 rgb(255, 0,0);
}

After:

.color-me{color:#7b7b7b;border-color:#fed;background:none repeat scroll 0 0 #f00}
不压缩RGBA与IE滤镜中的色值

Before:

.cantouch {
    color: rgba(1, 2, 3, 4);
    filter: chroma(color="#FFFFFF");
}

After:

.cantouch{color:rgba(1,2,3,4);filter:chroma(color="#FFFFFF")}

去除编码声明

Before:

@charset "utf-8";
#foo {
    border-width: 1px;
}

/* second css, merged */
@charset "another one";
#bar {
    border-width: 10px;
}

After:

#foo{border-width:1px}#bar{border-width:10px}

压缩IE滤镜

Before:

.classname {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; /* IE 8 */
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);       /* IE < 8 */
}

After:

.classname{-ms-filter:"alpha(opacity=80)";filter:alpha(opacity=80)}

去除多余引号

Before:

@import url("mod-1.css");
@import url('mod-2.css');

After:

@import url(mod-1.css);
@import url(mod-2.css);

Before:

.classname{ background: url("img/icon.png"); }
.classname{ background: url('img/icon.png'); }

After:

.classname{background:url(img/icon.png)}
.classname{background:url(img/icon.png)}

不影响正常的引号

Before:

.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}

After:

.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}

对HACK的影响

支持常用HACK

Before:

#element {
    width: 1px;
    width: 2px\9;
    *width: 3px;
    #width: 3px;
    _width: 4px;
}

After:

#element{width:1px;width:2px\9;*width:3px;#width:3px;_width:4px}

不支持以下HACK

html >/**/ body p {
    color: blue;
}
#elem {
    width: 100px; /* IE */
    voice-family: "\"}\"";
    voice-family:inherit;
    width: 200px; /* others */
}

  • 此功能默认开启
  • 勾选换行则每条规则后换行,否则全部压为一行(MHTML除外)

CssGaga参考了一部分YUI Compressor,拥有比YUI Compressor更极限的压缩

去除注释和空白

Before:

/*****
  Multi-line comment
  before a new class name
*****/
.classname {
    /* comment in declaration block */
    font-weight: normal;
}

After:

.classname{font-weight:normal}

去除结尾的分号

Before:

.classname {
    border-top: 1px;
    border-bottom: 2px;
}

After:

.classname{border-top:1px;border-bottom:2px}

Before:

去除多余的分号

.classname {
    border-top: 1px; ;
    border-bottom: 2px;;;
}

After:

.classname{border-top:1px;border-bottom:2px}

去除无效的规则

Before:

.empty { ;}
.nonempty {border: 0;}

After:

.nonempty{border:0}

去除零值的单位并合并多余的零

Before:

a {
    margin: 0px 0pt 0em 0%;
    background-position: 0 0ex;
    padding: 0in 0cm 0mm 0pc
}

After:

a{margin:0;background-position:0 0;padding:0}

去除小数点前多余的0

Before:

.classname {
    margin: 0.6px 0.333pt 1.2em 8.8cm;
    background: rgba(0, 0, 0, 0.5);
}

After:

.classname{margin:.6px .333pt 1.2em 8.8cm;background:rgba(0,0,0,.5)}

压缩border、outline

Before:

.classname {
    border-left: 0 none;
    border-right: none;
    border: 0 none;
    outline: 0 none;
}

After:

.classname{border-left:0;border-right:0;border:0;outline:0}

色值压缩

Before:

.color-me {
    color: rgb(123, 123, 123);
    border-color: #ffeedd;
    background: none repeat scroll 0 0 rgb(255, 0,0);
}

After:

.color-me{color:#7b7b7b;border-color:#fed;background:none repeat scroll 0 0 #f00}
不压缩RGBA与IE滤镜中的色值

Before:

.cantouch {
    color: rgba(1, 2, 3, 4);
    filter: chroma(color="#FFFFFF");
}

After:

.cantouch{color:rgba(1,2,3,4);filter:chroma(color="#FFFFFF")}

去除编码声明

Before:

@charset "utf-8";
#foo {
    border-width: 1px;
}

/* second css, merged */
@charset "another one";
#bar {
    border-width: 10px;
}

After:

#foo{border-width:1px}#bar{border-width:10px}

压缩IE滤镜

Before:

.classname {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; /* IE 8 */
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);       /* IE < 8 */
}

After:

.classname{-ms-filter:"alpha(opacity=80)";filter:alpha(opacity=80)}

去除多余引号

Before:

@import url("mod-1.css");
@import url('mod-2.css');

After:

@import url(mod-1.css);
@import url(mod-2.css);

Before:

.classname{ background: url("img/icon.png"); }
.classname{ background: url('img/icon.png'); }

After:

.classname{background:url(img/icon.png)}
.classname{background:url(img/icon.png)}

不影响正常的引号

Before:

.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}

After:

.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}

对HACK的影响

支持常用HACK

Before:

#element {
    width: 1px;
    width: 2px\9;
    *width: 3px;
    #width: 3px;
    _width: 4px;
}

After:

#element{width:1px;width:2px\9;*width:3px;#width:3px;_width:4px}

不支持以下HACK

html >/**/ body p {
    color: blue;
}
#elem {
    width: 100px; /* IE */
    voice-family: "\"}\"";
    voice-family:inherit;
    width: 200px; /* others */
}

« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3