0
我使用AngleSharp來解析一些CSS文件,比較它們的結構並從中構建輸出文件。該工具使所有的聲明明確,即如果源規則是:如何將多個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?
我會盡量建立一個最小的例子。但基本上,我正在遍歷ICssStyleSheet中的規則併爲每個規則存儲/生成輸出。所以你在說什麼,我可以在AngleScript中編程建立規則(不解析CSS字符串),並通過調用'ToCss()'獲得短手代碼? – gpinkas
有點,是的。通常,'ToCss()'應該已經試圖獲得速記符號(如果可能的話),然而,你可以通過直接調用速記聲明來強制這種表示形式(參見上面的例子'Margin',它是'MarginTop'的縮寫, 'MarginBottom'等反映了各自的CSS聲明'margin-top',...)。 –
這個效果非常好,AngleSharp只是很棒! :)我不確定這些「初始」值是否正確。 – gpinkas