我使用AngleSharp来解析一些CSS文件,比较它们的结构并从中构建输出文件。该工具使所有声明都显式,即如果源规则是:
.recent-work-wrap .overlay {
padding: 15px;
}
我从AngleSharp得到以下输出:
.recent-work-wrap .overlay {
padding-top: 15px;
padding-right: 15px;
padding-bottom: 15px;
padding-left: 15px;
}
这对于比较规则和检测更改很有用,但问题是,如何将此规则组合成上述速记?
另一个例子,如何从中得到:
.sample-rule {
margin-right: auto;
margin-left: auto;
margin-top: 30px;
margin-bottom: 30px;
}
到这个
.sample-rule {
margin: 30px auto;
}
CSS3声明的情况变得更糟,因为它们确实有很多参数......我检查了一些CSS minifier / uglifier工具,但它们大多使用RegEx来删除空格和较小的优化。 是否有已知的方法/工具/库可以从多个声明中编写最佳的shorthands?
答案 0 :(得分:1)
你如何得到这个输出?您是否尝试查看Margin
属性的简写声明(例如Style
)?
在内部,AngleSharp仅使用手写声明,因此输出尽可能详细。但是,AngleSharp知道大多数短序,并且应该能够将这些长臂重新组合成简写形式。
我不知道这对你有帮助吗?如果没有,那么请发布一些代码(MWE),我会尝试改进这个答案。