【问题标题】:Non-IE6 IE7 hack非 IE6 IE7 破解
【发布时间】:2011-02-11 07:48:04
【问题描述】:

我设法按照此处定期创建一个崩溃 IE6 和 7 的页面:http://raven-seo-tools.com/blog/2675/crash-ie6-with-only-css

我有一个针对非 IE 浏览器的解决方案(显示:inline-block),但让 IE6/7 正常工作的唯一方法是使用不同的 CSS(显示:内联)。通常我会让其他浏览器使用 inline-block,然后在单独的 IE67 CSS 文件中我会将 display 设置为 inline。

问题是 IE67 一到达 display: inline-block 行就崩溃,所以我需要一种方法来隐藏 IE6 和 7 而不是其他浏览器的代码。

更新:

条件注释不是一个选项! IE67 在到达其他浏览器的行后立即崩溃,因此条件 css 将永远不会运行。我需要一种方法来从 IE67 中隐藏这一行。 Contional Comments 不允许您在 IE67 中隐藏 CSS。

更新 2:

好的,看起来有条件的 cmets 是一个选项。给那个给了我我想要的东西的人正确的答案。

【问题讨论】:

    标签: html css internet-explorer css-hack


    【解决方案1】:

    使用html>/**/body hack。

    html>/**/body .someclass {
        /* Will be applied on everything but IE6/IE7. */
    }
    

    【讨论】:

    • 有效!谢谢!这是一个很好的参考。
    【解决方案2】:

    这些条件 cmets 可能会起作用。 mincss.css在IE8及其他浏览器加载,ie6-7.css在IE7及以下加载。

    <!-- <![if (!IE)|(gte IE 8)]> -->
        <link rel="stylesheet" href="maincss.css" type="text/css" />
    <!-- <![endif]> -->
    <!-- <![if (lte IE 7)]>
        <link rel="stylesheet" href="ie6-7.css" type="text/css" />
    <![endif]> -->
    

    【讨论】:

    • 上面的第一个条件注释将阻止 IE 6 和 7 加载 maincss.css ("mincss.css"?),因此它不会使它们崩溃。 IE8+ 将看到“gte IE 8”并加载它,其他浏览器将忽略条件注释,因此它们将加载它。
    • 实际上,无论出于何种原因,当我使用条件 cmets 时,IE7 都会加载 maincss.css。
    【解决方案3】:

    Conditional Comments 非常适合此类问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-30
      • 2011-11-26
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多