【问题标题】:CSS Combine Files & CompressCSS 合并文件和压缩
【发布时间】:2011-10-26 04:29:21
【问题描述】:

我希望能够在构建时提交一组 CSS 文件并完成以下操作:

  • 将所有 CSS 文件合并到一个 CSS 文件中
  • 合并所有重叠的选择器
  • 删除所有 cmets
  • 删除不必要的空白
  • 删除空样式

我确定还有其他人,但这是我开始的。

这是我希望如何访问该工具的偏好顺序:

  1. 远程网站
  2. 已安装 Web 托管 - 与我的网站相同 (Debian/PHP 5.2.12)
  3. 已安装本地计算机 (Windows 7)

我看到了CSS Compressor,但它似乎没有合并 CSS 文件,也没有合并重叠的 CSS 选择器。

提前致谢。

【问题讨论】:

  • 你的构建工具是什么?它可能已经与yui compressor 进行了某种集成
  • 我 - 至少在尝试 - 从头开始​​构建一切。所以,没有构建工具。
  • 如果您使用的是 Visual Studio,Cassette 是一个很好的工具,可以完全按照您的意愿行事。我已经使用了一段时间了,感觉很好!
  • 看这个帖子stackoverflow.com/a/14415721/1991617我觉得是你需要的

标签: css compression


【解决方案1】:

我会推荐 YUI compressor,因为它被广泛使用并且具有命令行界面。

您还应该考虑使构建过程自动化,以便您可以使用单个命令构建所有内容。如果您不想使用现有的构建工具,您可以为此类任务创建一个简短的 .bat 文件。


首先,合并您的文件:

type file1.css file2.css file3.css > combined.css

然后将其传递给 YUI 压缩器:

java -jar yuicompressor.jar combined.css > combined-min.css

【讨论】:

  • YUI Compressor 是否合并了多个文件中的所有重叠选择器?我没有看到任何选项。
  • CSS Formatter and Optimiser 允许重叠选择器。我不允许 (1) 多个文件,并且 (2) 自 2007 年以来没有更新。
【解决方案2】:

你可以试试Chirpy。它将combinecompress 文件和v2 有一个command line interface

不过,我只在 Visual Studio 中运行过它。

【讨论】:

    【解决方案3】:

    你应该使用sCSSOptimizer

    • 示例

    如果你想编译多个 css 文件而不是这样

    <?php
    require('./sCSSOptimizer/scssoptimizer.class.php');
    
    $css1 = file_get_contents("./cssfile1.css");
    $css2 = file_get_contents("./cssfile2.css");
    
    $final_css = $css1.$css2; //you can join more, if you want...
    
    $scss = new sCSSOptimizer($final_css);
    
    //$compression_rate = $scss->getCompressionRate();
    
    $compressed_css = $scss->getOptimized();
    //do your stuff
    ?>
    

    .

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-02
      • 2011-09-18
      • 1970-01-01
      • 2014-06-30
      • 1970-01-01
      • 1970-01-01
      • 2012-03-06
      相关资源
      最近更新 更多