【问题标题】:How to apply class only for IE?如何只为 IE 申请课程?
【发布时间】:2016-01-26 15:45:08
【问题描述】:

我在 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]-->

【问题讨论】:

  • 您使用的是哪个版本的 IE? IE 10 及更高版本根本不支持条件 cmets。
  • 10 岁及以上如何解决这个问题?

标签: css internet-explorer


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我认为作为最佳实践,您应该在标签内编写 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 及更高版本不再支持条件 cmets。来自微软官网:

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

    更多详情请查看here

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

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

    【讨论】:

    • 您能否通过检查页面源来验证它是否正在加载 css all-ie-only.css
    • 更新了我的答案,请检查。
    【解决方案3】:

    创建一个样式表文件ie.css,并在全局样式定义之后使用if

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

    这应该可行。

    【讨论】:

    【解决方案4】:

    对于 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
      }
    }
    &lt;div class="red"&gt;text&lt;/div&gt;

    注意:使用像这样的 hack 通常是不被接受的。谨慎使用。

    【讨论】:

    • @None - 看看演示小提琴。我使用模拟器在 IE 中对其进行了测试,文本仅在 IE 10+ 版本中显示为红色
    • 你的IE是哪个版本的?
    • IE11 我是这么认为的,因为我安装了 Windows 10,所以我找不到我正在使用的版本
    • 在 IE 菜单栏中单击帮助->关于 Internet Explorer - 这将显示您的版本
    • 我的错...因为 windows 10 有两个 ie 浏览器,所以它适用于 ie 11 和 10
    猜你喜欢
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多