【发布时间】:2017-03-10 18:39:30
【问题描述】:
我想知道有没有办法通过合并所有相等的属性来压缩 CSS。
例子:
我的 css 文件:
.main{
border: 3px solid red;
}
.container .child{
border: 3px solid red;
background: blue;
}
element{
margin: 4px 0px;
}
.xpto > li{
border: 3px solid red;
margin: 4px 0px;
background: red;
}
需要输出:
.main, .container .child, .xpto > li{
border: 3px solid red;
}
.container .child{
background: blue;
}
.xpto li, element{
margin: 4px 0px;
}
.xpto li{
background: red;
}
有人知道吗?
【问题讨论】:
-
要么你把它写成想要的输出,要么你使用某种带有变量的 LESS、SASS、CSS 编译器
-
我怀疑这是否有意义 - 我敢打赌,在涉及平等特异性与规则排序的许多地方,这很容易让你陷入困境。
-
我同意@junkfoodjunkie。您还应该考虑到您将遇到令人讨厌的反模式,并且当您必须进行某种类型的维护时可能会讨厌自己。实际上,gzip 压缩您的项目会产生理想的结果,因为 gzip 会寻找重复。意思是,您的第一个示例实际上比您需要的输出更好。
-
是的,和/或简单地缩小 css 以删除空格,这也将产生性能提升,而无需重写、转译或以其他方式与代码的基本含义/结构混淆。赞成 bc 一个有趣的问题,但最终我认为你会得到的建议不是如何去做,而是为什么这是一个坏主意。