YUI Compressor和CSS内容?

YUI Compressor and CSS content?

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

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

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

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

这是一个问题,因为它会清除预期的空白。我以为使用YUI Compressor特别注释,例如:

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

...可能有帮助,但似乎没有帮助。此外,评论本身也消失了。基于的印象是,JavaScript中以/*!开头的注释得到保留,但实际上并没有发生。

对我的构建过程进行后处理的简短程度使其无法最小化,有没有办法做到这一点?我们当前使用的是2.3.5版的YUI压缩器,并以--charset utf8 -v -o

标志运行

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


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

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

\\00A0特别是不间断空格。


我尝试使用2.3.4和2.4.6版本的css,并且都保留了字符串中的空格。因此,这可能是一个非常具体的错误(在错误跟踪器中找不到任何内容),或者是其他原因出了问题。您确定这是一个ascii空格字符和常规撇号(不是Windows智能的东西)吗?

当我在同一CSS上运行测试时,用Unicode字符201C(左双引号)替换ascii引号,则删除了空格。原因很简单:解析器无法将其识别为字符串,因此会去除空格。

无论如何,您都可以从此处http://yuilibrary.com/download/yuicompressor/尝试最新版本。如果使用某些程序包管理器安装了当前版本,则只需从存档的" build"文件夹中提取.jar文件即可。


您可以在内容中添加边距:

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