0

有一篇关于粉碎杂志(技术 3)的相当老的文章说,如果你开始这样的媒体查询:

@media screen, all and (min-width: 300px)

那么理解媒体查询的浏览器将理解整个媒体查询,因为旧的ie会在“all and”之后忽略所有内容。所以理论上较旧的 ie 仍然可以看到查询中的所有内容。这对于 ie6 和 ie7 来说是惊人的,但不幸的是 ie8 忽略了查询中的所有规则。

这很不幸,因为如果我们能得到

我们可以使用Jeremy Keiths 示例做类似的事情,该示例涉及将布局内容移动到单独的样式表中,并使用条件注释将其提供给旧版 IE。

这种方法的问题在于我的 css 模块在不同的样式表之间进行了拆分。这违背了 OOCSS 和 SMACSS 中的原则(它们真的很有用!)

有一个JS Fiddle 有人试图破解它,但想知道是否有人对如何做到这一点有任何想法?

4

1 回答 1

0

感谢@cimmonon 的评论让我找到了解决方案。

使用 .less 我可以拥有

global.less - 这里有我所有的 CSS,包括我所有的断点。断点设置为较少的变量。compiled.less - 这会导入 global.less 并编译成一个 css 文件 Compiled-belowie8 - 这会导入 global.less 并编译成一个 css 文件 但是我已经将最宽布局的媒体查询变量更改为“none”,以便在这个文件中没有媒体查询。

然后,在我使用条件注释将compiled.css 提供给所有浏览器,除了

于 2012-11-23T14:51:16.617 回答