zoukankan      html  css  js  c++  java
  • 简短的几句js实现css压缩和反压缩功能

    写在前面

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

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

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

    CSS压缩效果见下


    压缩代码 格式(多行) 格式(单行) 还原代码

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

    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(/(
    |	|s)*/ig, '$1');
                    code = code.replace(/
    |	|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
    	');
                    code = code.replace(/	*(})/ig, '$1
    ');
                    code = code.replace(/(*/)/ig, '$1
    ');
                    return code;
                }
                this.formatOver = function () {
                    var code = this.init();
                    code = code.replace(/(})/ig, '$1
    ');
                    code = code.replace(/(*/)/ig, '$1
    ');
                    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里面就可以了

  • 相关阅读:
    聚合支付里各扫码支付的返回报文样例
    短信平台接口安全控制
    「美团外卖APP签约快捷支付」流程体验
    多模块项目提示“Module ** must not contain source root **. The root already belongs to module **”的解决办法
    比较两种方式的form请求提交
    Linux screen命令和系统日志
    Linux 守护进程
    Linux 进程的通信方式与信号:kill命令
    Linux 进程的控制与进程之间的关系
    Linux 使用ps和top命令查看进程
  • 原文地址:https://www.cnblogs.com/liyunhua/p/4564060.html
Copyright © 2011-2022 走看看