@media ルールをスタイル シートから引き出してキャッシュし、適切な解像度で JS を使用して IE<9 に適用しようとしています。
例えば:
.../*default rules*/...
#work-head { background-image: url("/images/work-art-supplies-med.png"); height: 168px; width: 213px; }
}
@media screen and (min-width : 657px) {
.welcome h1 { border: 0; margin-bottom: 0; text-align: center; }
.welcome p { font-size: 13px; font-size: 1.3rem; }
.../*more rules*/...
}
.../*more rules*/...
現時点では、最小幅とそれ以降のすべて (スタイル シートの最後まで) を次のように取得しています。
/657px\)(\s|\n)*\{/
次のように、メディアクエリの最後にある二重の「}}」を見つけて、メディアクエリのエンドポイントを取得します。
/}[^{]*}/
これは機能しますが、各 IE スタイル シートを作成するには 2 つの正規表現といくつかの文字列操作が必要であり、それが面倒に感じます。
メンテナンスを容易にするために、IE のルールを個別のファイルに分割することを避けようとしています。また、CSS が圧縮される前と後の両方を抽出できるように、正規表現が必要だと思います (現在は圧縮されていますが、明らかに最適とはほど遠いです)。
では、これら 2 つの式を 1 つに結合する方法を教えてください。
基本的に、リテラルまたはパターンと別のリテラルまたはパターンの間ですべてを一致させるにはどうすればよいですか?
また、これはIE<9で動作する必要があるため、先読みと後読みはオプションではないと思います(?)