一个基本的CSS示例。我遇到的每个浏览器都会呈现带有外边距和内边距以及红色边框的项目。
.test{
margin: 4px;
border: 1px solid black;
padding: 4px;
}
.test{
border: 1px solid red;
}
如果我手写CSS,我会用红色替换黑色并且只有一条规则。
但是,如果第一个规则来自于父级CSS文件(或者在我的情况下是LESS文件),由于它在其他地方被使用而无法编辑,或者来自于我不想篡改的第三方库,那么我认为没有别的选择,只能添加额外的规则。
现在,由于我正在使用服务器端LESS -> CSS编译和压缩,所以将规则减少到只有
.test{
margin: 4px;
border: 1px solid red;
padding: 4px;
}
但是我尝试过的所有东西都符合这两个规则。一些压缩/最小化工具甚至会删除换行符。
.test{margin:4px;border:1px solid black;padding:4px}.test{border:1px solid red}
它去除了一个换行符,但却保留了一个完全不必要的规则声明。这对我来说似乎很奇怪。
有没有系统可以做到这一点?(最好是node.js的附加组件)如果没有,我们知道为什么吗?在我看来,这似乎是一个非常大的文件大小节省,并且没有任何缺点。
免责声明:我已经尝试搜索并合并选择器以及其他几种变体,如果我错过了这个过程的常见术语,我很抱歉,因为收益似乎如此明显,我必须遗漏了什么!