2

我什至看过 CSS Crush、Minify、SmartOptimizer、CSSTidy 和许多其他 PHP CSS 压缩器。但它们都有一个重大缺陷。

你不能使用这个:

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

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

我正在为我的 JS 使用 minify,它运行良好,但如果我将它与 CSS 一起使用,Dreamweaver 会感到害怕并且不知道如何渲染它。哈哈。当然,它是服务器端。

有没有人有解决这种情况的方法?我确实更喜欢使用 Dreamweaver,因为可以在设计视图中进行即时更改,以及 FTP 功能和代码提示,但即使是新的 CS6,当您使用除.css文件之外的任何东西时,它似乎也会发牢骚。

4

2 回答 2

2

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

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

AddHandler php5-script .css

然后,<link rel="stylesheet" href="css/style.css" type="text/css" />在将文件重命名回 CSS 之后。有关这方面的更多详细信息,请参阅 Apache 文档AddHandler

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

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

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

于 2012-08-24T01:58:49.513 回答
1

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

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

这样,dreamweaver 会将其视为一个 css 文件,并且您还将对其进行压缩。

于 2012-08-24T01:54:50.567 回答