【问题标题】:CSS for IE 8 Only仅适用于 IE 8 的 CSS
【发布时间】:2026-01-30 20:50:02
【问题描述】:

我只需要为 IE 8 设置一些项目的样式。如果我这样做:

<!--[if IE 8]><link rel="stylesheet" href="mystyleIE8.css" type="text/css" media="screen, projection"/><![endif]-->

然后我做:

<!--[if IE 7]><link rel="stylesheet" href="myStyleIE7.css" type="text/css" media="screen, projection"/><![endif]-->

会发生什么?我发现这个link to a previous SO question 暗示&lt;!--[if IE 8]&gt; 的意思是“如果IE 8 或更低”。这是否意味着使用&lt;!--[if IE 8]&gt; 会覆盖所有&lt;!--[if IE 7]&gt; css?我的程序是否知道将 &lt;!--[if IE 8]&gt; 仅用于 IE 8 并将 &lt;!--[if IE 7]&gt; 用于 IE 7?

【问题讨论】:

    标签: css internet-explorer conditional-comments


    【解决方案1】:

    这并不意味着“如果 IE 8 或更低”。

    <!--[if IE 8]>
    

    表示如果是IE8

    <!--[if lt IE 8]>
    

    如果小于 IE 8

    <!--[if lte IE 8]>
    

    如果小于等于IE 8

    【讨论】:

      【解决方案2】:

      如果您按照示例进行操作,IE8 将获得 mystyleIE8.css,而 IE7 将获得 mystyleIE7.css。

      这些称为条件 cmets。您可以将其他语法用于其他场景。在这个例子中:

      <!--[if lte IE 7]>
      stuff
      <![endif]-->
      

      “东西”仅适用于 Internet Explorer 7 及更低版本的所有版本。

      如需了解更多信息,请参阅http://www.quirksmode.org/css/condcom.html

      【讨论】:

        【解决方案3】:

        KatieK 是正确的。如果您查看 cmets 内部:

        如果 IE 8

        表示“如果浏览器是 IE 版本 8”,其中仅包括 IE8。

        如果 IE 7

        表示“如果浏览器是 IE 版本 7”,其中仅包括 IE7。

        有些语法确实允许小于。但你展示的不是它。对比

        如果 lte IE 8

        表示“如果浏览器低于或等于IE版本8”,包括IE8、IE7、IE6和IE5.5。

        如果 lte IE 7

        表示“如果浏览器低于或等于IE版本7”,包括IE7、IE6和IE5.5。

        【讨论】:

          【解决方案4】:

          您可以尝试以下CSS Hacks。有趣的东西。

          【讨论】:

            最近更新 更多