YUI CSS 缩小问题

YUI CSS Minification issues

我有 2 个 css 文件,它们被缩小并合并为一个文件。但是同一个元素上的 CSS 属性 并没有合并。

file1.css // 这来自一个公共库

body { position: relative; margin: auto; }

file2.css //这是一个项目特定的样式

body { position: static }

min.css

body{position: relative; margin: auto}
body{position:static}

我希望 position: static 优先于 position: relative

颠倒 xml 配置文件中 css 个文件的顺序。

这不是错误,YUI Compressor 不合并 CSS 选择器。
是选择,也是有原因的。

以这个CSS为例:

/* file1.css */
.foo {
  color: red;
}
.bar {
  color: blue;
}

/* file2.css */
.foo {
  color: yellow;
}

还有这个HTML:

<p class="foo bar">Hello world!</p>

这是我们得到的:

没有文件组合

/* file1.css */
.foo{color:red;}.bar{color:blue;}

/* file2.css */
.foo{color:yellow;}

由于声明的顺序,颜色为黄色

有文件合并,没有合并选择器

/* file1.css */
.foo{color:red;}.bar{color:blue;}.foo{color:yellow;}

颜色是黄色,同样的原因。

带有文件组合和合并选择器

/* file1.css */
.foo{color:yellow;}.bar{color:blue;}

颜色是蓝色,因为我们的元素有两个选择器,黄色值在缩小过程中被移动了。