我正在尝试将@media 规则从样式表中提取出来进行缓存,然后以适当的分辨率在 IE<9 中应用 JS。
例如:
.../*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*/...
目前,我得到了 min-width 和它之后的所有内容(直到样式表的末尾):
/657px\)(\s|\n)*\{/
并通过在媒体查询末尾找到双“}}”来获取媒体查询的终点,如下所示:
/}[^{]*}/
这可行,但它需要两个正则表达式和一些字符串操作来制作每个 IE 样式表,这让我觉得很脏。
我试图避免将 IE 的规则分解为单独的文件以使维护更容易,我认为我需要一个正则表达式,以便我可以在压缩 CSS 之前和之后提取(现在可以,但显然远非最佳)。
那么有人可以告诉我如何将这两种表达方式合二为一吗?
基本上:如何匹配文字或模式与另一个文字或模式之间的所有内容?
另外 - 这需要在 IE<9 中工作,所以我认为前瞻和后视不是选项(?)