5

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

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

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

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

这是一个问题,因为它消除了预期的空白。我想使用 YUI Compressor 的特殊注释,像这样:

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

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

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

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

4

3 回答 3

4

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

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

\00A0特别是非破坏空间。

于 2012-06-20T18:47:33.457 回答
2

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

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

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

于 2012-06-21T15:42:13.640 回答
1

您可以为内容添加边距:

.author-name:before {
    content: "by:";
    margin: 0 .35em 0 0;
}
于 2012-06-20T18:45:49.170 回答