用于CSS代码压缩与格式化的javascript函数代码
var lCSSCoder={
format : function(s){//格式化代码
s=s.replace(/\s*([\{\}\:\;\,])\s*/g,"$1");
s=s.replace(/\,[\s\.\#\d]*{/g,"{");
s=s.replace(/([^\s])\{([^\s])/g,"$1 {\n\t$2");
s=s.replace(/([^\s])\}([^\n]*)/g,"$1\n}\n$2");
s=s.replace(/([^\s]);([^\s\}])/g,"$1;\n\t$2");
s=s.replace(/;\s*;/g,";");//清除连续分号
return s;
},
pack :function(s){//压缩代码
s=s.replace(/\/\*(.|\n)*?\*\//g,"");//删除注释
s=s.replace(/\s*([\{\}\:\;\,])\s*/g,"$1");
s=s.replace(/\,[\s\.\#\d]*\{/g,"{");//容错处理
s=s.replace(/;\s*;/g,";");//清除连续分号
return s;
}
};
演示代码:
lCSSCoder: CSS代码压缩与格式化
body {text-align:center;}
textarea {border-width:1px;margin:0 5px;}
var lCSSCoder={
format : function(s){//格式化代码
s=s.replace(/\s*([\{\}\:\;\,])\s*/g,"$1");
s=s.replace(/;\s*;/g,";");//清除连续分号
s=s.replace(/\,[\s\.\#\d]*{/g,"{");
s=s.replace(/([^\s])\{([^\s])/g,"$1 {\n\t$2");
s=s.replace(/([^\s])\}([^\n]*)/g,"$1\n}\n$2");
s=s.replace(/([^\s]);([^\s\}])/g,"$1;\n\t$2");
return s;
},
pack :function(s){//压缩代码
s=s.replace(/\/\*(.|\n)*?\*\//g,"");//删除注释
s=s.replace(/\s*([\{\}\:\;\,])\s*/g,"$1");
s=s.replace(/\,[\s\.\#\d]*\{/g,"{");//容错处理
s=s.replace(/;\s*;/g,";");//清除连续分号
s = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);//去掉首尾空白
return (s == null)?"": s[1];
}
};
原始代码: /*PageHead*/ #PageHead {float:left;padding:3px 0;border-bottom:1px solid #b0bec7;margin-bottom:6px;} #hCity li {float:left;padding:0 10px 0 0;} #hCity li.fst {padding:0;} #hRight { float:right;padding:0 5px 0 20px; background:url(img/ico_home.gif) no-repeat 0 50%;} .SubPage #hRight { background-image:url(img/ico_favorite.gif);} /*PageBody*/ #Logo {height:66px;margin:0;padding:0;} |
转换后: |
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
下面是我们的css格式化工具,喜欢的朋友也可以看看里面的代码
CSS代码格式化 css在线压缩工具