首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我的IE条件语句不能在样式标签中工作?

为什么我的IE条件语句不能在样式标签中工作?
EN

Stack Overflow用户
提问于 2009-11-04 04:04:58
回答 4查看 2.6K关注 0票数 1

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

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

主体中的"The browser is IE“语句工作正常,如果我打开firefox,它不在那里,internet explorer..它是。

我做错了什么?

代码语言:javascript
复制
<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>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-11-04 04:12:47

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

其次,条件语句在css中不起作用。因此,相反,编写你的代码,使条件是围绕着IE特定的样式。

代码语言:javascript
复制
<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>
票数 9
EN

Stack Overflow用户

发布于 2009-11-04 04:11:26

显然,它们不能在style标签中工作。(查看此处:http://reference.sitepoint.com/css/conditionalcomments)

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

票数 2
EN

Stack Overflow用户

发布于 2009-11-04 04:18:53

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

代码语言:javascript
复制
.color {
    color: red;
}

* html .color {
    color: blue;
}

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

代码语言:javascript
复制
.color {
    color: red !important;
    color: blue;
}

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1669825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档