我正在编写一个使用Electron和ReactJS编写CSS文件的桌面应用程序。
我需要扫描CSS寻找类选择器,然后清除以下声明块并添加一些新属性。
棘手的部分是匹配选择器中的类。我需要将类作为实际目标(不是父级),但可能有多个以逗号分隔的选择器,因此我需要检查所有这些。
例如, 在这个文件中,我正在搜索containerApp类:
.section-main .section-right,.menu .container-manu,.containerApp .container-nav { 背景:黑色; }
.section-main2 .section-left,.menu .container-manu,.section-group-d .containerApp { 背景:红色; }
第一个块不匹配,因为.containerApp仅被提及为真实目标的父级.container-nav。第二个块匹配,我想删除背景:红色;并用其他东西替换它。 进行CSS匹配和重写的最佳方法是什么?
答案 0 :(得分:0)
如果我正确理解您的要求,.containerApp
必须是选择器的最后一个元素。由于选择器以逗号结尾,或者在花括号处,因此您需要使用合适的正则表达式:
sed '/\.containerApp *[,{]/s/{[^}]*}/{ my new css rules }/' app.css