如何只为IE申请课程?

时间:2015-10-27 09:42:51

标签: css internet-explorer

我在CSS中有这个类,我需要在它的IE时更改它。我想删除padding-bottom。我怎样才能做到这一点?

我不想添加另一个CSS文件,我只想在一个类中更改一个属性。

.container-wrapp{
    float: left;
    position: relative;
    width: 100%;
    padding-bottom:100px;
    height: 100%;
}

我试过这个但没有成功:

<!--[if IE]>
<style type="text/css">
.container-wrapp{
    float: left;
    position: relative;
    width: 100%;
    height: 100%;
}
</style>
<![endif]-->

4 个答案:

答案 0 :(得分:13)

对于IE10 +,您可以执行以下操作:

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
   .container-wrapp{padding-bottom:0;}
}

Demo Fiddle(请注意,文本仅在IE 10 +中为红色)

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
  .red {
    color: red
  }
}
<div class="red">text</div>

注意:使用像这样的黑客通常不赞成。请谨慎使用。

答案 1 :(得分:1)

创建样式表文件ie.css并使用if以这种方式在全局样式定义之后:

<!--[if IE]>
<link rel='stylesheet' type='text/css' href='ie.css'/>
<![endif]-->

这应该有用。

答案 2 :(得分:0)

结帐此链接How to create an ie only stylesheet,您需要为IE创建单独的样式表。

答案 3 :(得分:0)

我认为,为了获得最佳实践,您应该在标签内部编写IE条件语句,其中包含指向特殊样式表的链接。您的自定义css链接之后必须,因此它会覆盖css属性。这是一个例子:

<link rel="stylesheet" type="text/css" href="style.css" />
<!--[if IE]>
    <link rel="stylesheet" type="text/css" href="all-ie-only.css" />
<![endif]-->

希望这会对你有帮助!

IE 10及以后不再支持条件评论。来自MS官方网站:

  

Internet Explorer中已删除对条件注释的支持   提高互操作性的10种标准和怪癖模式   符合HTML5。

有关详细信息,请参阅here

如果您迫切需要定位ie,您可以使用此jQuery代码添加ie类,然后在您的css中使用.ie类来定位即浏览器。

if ($.browser.msie) {
 $("html").addClass("ie");
}