我甚至看过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
文件时发出异议。
答案 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文件,您也会将其压缩。