YUI Compressor和CSS内容?

时间:2012-06-20 18:36:57

标签: css yui yui-compressor minify

我有一个包含以下代码的样式表:

.author-name:before {
 content:"by: ";
}

当我通过YUI Compressor运行时,我得到:

.author-name:before{content:"by:"}

这是一个问题,因为它消除了预期的空白。我想过使用YUI Compressor特别评论,如下:

.author-name:before {
  /*!YUI-Compressor */content: "by: ";
}

......可能有所帮助,但似乎没有。此外,评论本身也被抹去了。我的印象是JavaScript中以/*! get preserved开头的评论,但实际上并没有发生。

如果没有对我的构建过程进行后处理以取消通信,有没有办法做到这一点?我们目前正在使用YUI压缩器的2.3.5版本,并使用标志--charset utf8 -v -o

运行

所以我的问题,简而言之,有没有办法让YUI Compressor尊重content:值中的空格,或者在我不想缩小的块之前和之后添加CSS注释的方法?

3 个答案:

答案 0 :(得分:4)

作为一种解决方法,请尝试使用unicode实体而不是空格字符本身:

.author-name:before {content: "by:\00A0"; }

\00A0尤其是不间断的空间。

答案 1 :(得分:2)

我使用版本2.3.4和2.4.6尝试了你的css,并且都保留了字符串中的空间。所以它要么是一个非常具体的错误(在bug跟踪器中找不到任何东西),要么是其他错误。你确定它是一个ascii空格字符和常规撇号(不是Windows聪明的东西)吗?

当我在同一个css上用unicode字符201C替换ascii引号进行测试时,左双引号,该空格被删除。原因很简单:解析器不会将其识别为字符串,因此它会剥离空白区域。

无论如何,您可能想从此处http://yuilibrary.com/download/yuicompressor/尝试最新版本。如果您使用某个软件包管理器安装了当前版本:只需从存档的“build”文件夹中提取.jar文件。

答案 2 :(得分:1)

您可以为内容添加保证金:

.author-name:before {
    content: "by:";
    margin: 0 .35em 0 0;
}