JavaScriptで処理する必要がある次のcssを含む文字列があります
h1
{
color: red;
}
.info
{
border: 1px dotted blue;
padding: 10px;
}
#rect
{
background: pink;
}
h2,
h3,
h4
{
font-weight: bold;
}
table td:last td
{
background: gainsboro;
}
.page
css が壊れないように各ルールにプレフィックスを追加するにはどうすればよいですか?
この結果が欲しい
.page h1
{
color: red;
}
.page .info
{
border: 1px dotted blue;
padding: 10px;
}
...
現在、インデントを探して解決していますが、この場合、コードは失敗します
h1
{
color: red;
}
で終わる
.page h1
{
.page color: red;
}
ブラケットのみを含む行を探すこともできますが、この場合は失敗します
h1 { color: red; }
私は独自のcssパーサーを構築したくありません。私が見つけたものは、ほとんどがDOM内の要素に適用されたcssを処理し、cssを使用した文字列ではありません。良いパーサーはありますか、それとも別の方法で実現できますか?