禁用IE7和IE8的CSS样式

时间:2013-04-08 10:17:05

标签: css

我有样式表文件,想在IE7和IE8浏览器中禁用一些css标签,怎么做?我不想把这些标签放在我希望保存在一个文件中的单独的css文件中。

3 个答案:

答案 0 :(得分:3)

我建议使用HTML5样板文件outlined here by 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黑客攻击,并且可以将所有内容保存在单个样式表中。

正如@Daniel所说,这不是禁用样式,而是过度使用它们。如果由于某种原因您想要将样式发送到现代浏览器和更新的IE,您可以在上面的最终html标记中添加另一个类,并使用它。

答案 1 :(得分: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]-->

有关此内容的更多信息:How To Create an IE-Only Stylesheet

答案 2 :(得分:0)

.element {  
    margin-bottom: 20px;  
    margin-bottom: 10px\9;  
} 

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

您无法禁用它们,但可以覆盖它们