我正在开发一个CSS minifier,它将具有共同声明的选择器组合在一起。我已经编写了CSS解析器,它功能正常,但我遇到的麻烦是;根据常见声明,思考以编程方式将选择器组合在一起的最佳方法。现在,解析器将具有选择器名称(即h1,h6,div等)的CssBlock对象实例化为构造函数参数。然后它从选择器中解析出声明,将每个声明拆分为属性/值对(即margin:0),并将它们插入到该对象中的map<std::string, std::string>
成员变量中。我想我要做的是,遍历对象,检查公共声明,然后将它们组合在一起..但我怎样才能做到最佳,以便没有其他组可以包含在其他组中?或者说,每个组都不是围绕一个声明创建的,而是多个?希望我有意义......如果没有,请在评论中这样说,我会尝试更清楚地解释。