0

我正在使用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 缩小器/丑化器工具,但它们主要使用 RegEx 来删除空白和较小的优化。是否有已知的方法/工具/库可以从多个声明中编写最佳速记?

4

1 回答 1

1

你如何得到这个输出?您是否尝试过查看属性的简写声明(例如MarginStyle

在内部,AngleSharp 仅使用速记声明,因此输出尽可能详细。然而,AngleSharp 知道大多数速记并且应该能够将这些速记重新组合成它们的速记形式。

我不知道这是否对你有所帮助。如果没有,请发布一些代码(MWE),我会尝试完善这个答案。

于 2015-12-14T09:37:20.420 回答