【问题标题】:how come my IE conditional statements do not work inside style tags?为什么我的 IE 条件语句在样式标签中不起作用?
【发布时间】:2010-12-12 19:01:55
【问题描述】:

我正在尝试使用 IE 特定的条件语句来根据浏览器类型更改类设置。我的印象是他们可以做到这一点,但我似乎无法让它发挥作用。

下面是一个简单的例子,如果浏览器是IE,文本应该是蓝色的,否则文本应该保持红色。

正文中的“浏览器是IE”声明工作正常,如果我打开firefox它不存在,internet explorer ..它是。

我做错了什么?

<html>
<head>
<style type="text/css">
.class{color:red;}
<!--[if IE]>
.class{color:blue;}
<![endif]-->
</head>
</style>
<body>
<!--[if IE]>
This browser is IE
<![endif]-->
<p class="class">Color changing text based on browser</p>
</body>
</html>

【问题讨论】:

    标签: html css conditional


    【解决方案1】:

    显然它们在样式标签中不起作用。 (见这里:http://reference.sitepoint.com/css/conditionalcomments

    看起来你可以在 head 标签中使用它们,如果是 IE,则包含一个外部 CSS 文件,如果是另一个浏览器,则隐藏该 css 文件。

    【讨论】:

      【解决方案2】:

      首先你的代码不起作用 - 你应该让 css 读取 .color 而不是 .class

      第二个条件语句在 css 中不起作用。因此,请改为编写代码,使条件围绕 IE 特定样式。

      <html>
      <head>  
          <style type="text/css">
              .color{ color:red; }
          </style>
      
          <!--[if IE]>
          <style type="text/css">
              .color{ color:blue; }
          </style>
          <![endif]-->
      </head>
      
      <body>
          <!--[if IE]>
          This browser is IE
          <![endif]-->
          <p class="color">Color changing text based on browser</p>
      </body>
      </html>
      

      【讨论】:

      • Psssh,乖一点。我的课在我的脑海里搞混了,没有仔细检查我的工作。我更喜欢您的解决方案,因为我觉得创建整个样式表并不是必需的,除非我有大量的 css 需要条件化。 ;) 所以我会给你功劳,但肯的也是对的。感谢 LFSR 的帮助
      • @payling - 不知道是不是打错了,还是你实际上是这样写的
      【解决方案3】:

      如果“hack”针对的是 IE6 或更早版本,您也可以执行以下操作:

      .color {
          color: red;
      }
      
      * html .color {
          color: blue;
      }
      

      注意“* html”前缀。这仅由 IE6 和更早版本解析。您也可以使用“!important”声明。然后,特定行将被 IE6 和更早版本忽略。

      .color {
          color: red !important;
          color: blue;
      }
      

      如果你有很多,更好的做法是使用条件语句加载一个额外的 CSS 样式表文件。

      【讨论】:

        【解决方案4】:

        你也可以做color: red;_color:blue;

        【讨论】:

          猜你喜欢
          • 2013-06-07
          • 2011-12-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-03-16
          • 2021-12-31
          • 2012-11-21
          相关资源
          最近更新 更多