1

我有样式表文件,想为 IE7 和 IE8 浏览器禁用其中的一些 css 标签,该怎么做?我不想将这些选项卡放在单独的 css 文件中,然后将其保留在一个文件中。

4

3 回答 3

3

我推荐 HTML5 样板所采用的方法,由 Paul Irish 在这里概述。基本上,像这样设置您的文档:

<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->

您现在有适当的类来准确地仅针对某些版本的 IE。您的 CSS 将如下所示:

.element { margin-bottom: 20px; }
.lt-ie8 .element { margin-bottom: 10px; } 

然后,您可以避免 CSS hack,并且可以将所有内容保存在一个样式表中。

正如@Daniel 所说,这不是禁用样式,而是覆盖它们。如果出于某种原因您只想将样式发送到现代浏览器和较新的 IE,您可以在上面的 finalhtml标记中添加另一个类,然后使用它。

于 2013-04-08T10:34:12.343 回答
1

如果您尝试仅针对 IE 使用特定的样式表,则如下所示:

<!--[if IE 8]><link rel="stylesheet" href="css/ie8.css" type="text/css" media="screen"><![endif]-->
<!--[if IE 7]><link rel="stylesheet" href="css/ie7.css" type="text/css" media="screen"><![endif]-->
<!--[if IE]><link rel="stylesheet" href="css/ie.css" type="text/css" media="screen"><![endif]-->

更多关于这里的信息:如何创建一个仅限 IE 的样式表

于 2013-04-08T10:22:06.943 回答
0
.element {  
    margin-bottom: 20px;  
    margin-bottom: 10px\9;  
} 

来自这里的信息:http ://www.impressivewebs.com/ie7-ie8-css-hacks/

您不能禁用它们,但可以覆盖它们

于 2013-04-08T10:20:34.860 回答