简短的几句js实现css压缩和反压缩功能

写在前面

最近一直在整理css,但因为现在Visual Studio 2013太智能了,它每每在我按ctrl+E+D进行格式化代码的时候,就会将css进行层次格式化(如下图所示),而这个格式让我老大实在无法忍受,我老大认为它实在是太浪费空间了。

那我应该怎么办呢,每次将本地代码上传之前都打开另外一个vs10,然后复制粘贴,可是下次从服务器拉下来代码我一编辑,手痒一下就又变成上面这个鬼样,折磨的我呀

刚刚看了豪情的一篇文章,http://www.cnblogs.com/jikey/archive/2010/04/19/1715474.html  才发现有这么简单的方法来实现css的格式化,瞬间觉得弱爆了

CSS压缩效果见下

body * { font-size:10pt; }/* ss sda */ p { clear:left; padding:5px 10px; } td , fieldset { padding : 10px ; } textarea { width:90%; height:10em; }
压缩代码 格式(多行) 格式(单行) 还原代码

 

 大家可以点击上面的“压缩代码”、“格式多行”等按钮试一下效果

JS实现CSS压缩及格式化原理
    <script type="text/javascript">
        function $(id) { return document.getElementById(id); }
        function cssCode(obj) {
            this.init = function () {
                var code = obj.value;
                if (!this.code || this.code == "") this.code = code;//先保存起来  以方便后续还原
                code = code.replace(/(\n|\t|\s)*/ig, '$1');
                code = code.replace(/\n|\t|\s(\{|\}|\,|\:|\;)/ig, '$1');
                code = code.replace(/(\{|\}|\,|\:|\;)\s/ig, '$1');
                return code;
            }
            this.compress = function () {
                var code = this.init();
                return code;
            }
            this.format = function () {
                var code = this.init();
                code = code.replace(/(\{)/ig, ' $1');
                code = code.replace(/(\{|\;)/ig, '$1\n\t');
                code = code.replace(/\t*(\})/ig, '$1\n');
                code = code.replace(/(\*\/)/ig, '$1\n');
                return code;
            }
            this.formatOver = function () {
                var code = this.init();
                code = code.replace(/(\})/ig, '$1\n');
                code = code.replace(/(\*\/)/ig, '$1\n');
                return code;
            }
            this.recover = function () {
                return (this.code) ? this.code : obj.value;
            }
            var my = this;
            obj.onkeydown = function () {
                my.code = "";
            }
        }
        var code = new cssCode($('cssCode'));
    </script>

大家看到没有,简简单单的几句话,也就是利用正则将换行、tab键、空格等去掉来实现压缩。

哎,发现自己太弱了,还是应该多跟园子里的大神学习下。(写这篇博文的意义还在于,原来让自己的博文上出现界面展示效果其实原理也很简单,只要把相关script和style插入到博文的html里面就可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值