你可以不压缩CSS,但以后可以使用它吗?

时间:2012-08-24 01:45:20

标签: css compression minify

我甚至看过CSS Crush,Minify,SmartOptimizer,CSSTidy和一些其他PHP CSS压缩器。但他们都有一个重大缺陷。

你不能用这个:

 <link rel="stylesheet" href="css/styles.css" type="text/css">

使用Dreamweaver时,这是在设计视图中查看DESIGN的唯一方法。如果您将styles.css文件替换为styles.php,即使您在文件中有css代码,它也会中断..

我正在使用minify作为我的JS并且它工作得非常漂亮,但如果我将它与CSS一起使用,Dreamweaver会感到害怕并且不知道如何渲染它。哈哈。当然,它虽然是服务器端。

对于像这样的情况,有人有解决方法吗?我更喜欢使用Dreamweaver,因为可以在设计视图中立即进行更改,以及FTP功能和代码提示,但即使是新的CS6似乎也会在使用任何内容但.css文件时发出异议。

2 个答案:

答案 0 :(得分:2)

我无法验证此解决方案是否有效,但理论上应该如此。

首先,您需要将.css个文件添加为 PHP,因此您无需更改文件扩展名。无论如何,这都是一种很好的做法,因为文件扩展名应指明正在传递的内容。我不知道有任何标准可以说明这一点,但这是一种很好的做法。如果您使用的是Apache,则可以将其添加到.htaccess或全局服务器配置文件中:

AddHandler php5-script .css

然后,在将文件重命名为CSS后,只需<link rel="stylesheet" href="css/style.css" type="text/css" />。有关此问题的更多详细信息,请参阅AddHandler上的Apache文档。

其次,您需要在CSS中“注释掉”您的PHP代码。例如,您可以在style.css的顶部执行类似的操作:

/*
    <?php include 'your-file-compressor.php'
    // Put any PHP code for compression here
    ?>
*/

这样,Dreamweaver仍会读取实际的CSS代码,但PHP应该能够在将其交付给客户端之前进行压缩。

答案 1 :(得分:1)

正如Kishore指出的那样,Minificaiton应该是构建过程的一部分。在开发时,您应该使用原始css文件。

而不是href="css/styles.php"更好地使用href="compresscss/path/css/styles.css"。此处compresscss/path/css/styles.css已映射到compresscss.php?path=css/style.css。这可以通过apache中的mod_rewrite来完成。

这样Dreamweaver会将其视为css文件,您也会将其压缩。