【问题标题】:CSS class gets applied in IE 8 and IE 9 but not in IE 11CSS 类在 IE 8 和 IE 9 中得到应用,但在 IE 11 中没有
【发布时间】:2014-09-02 07:34:09
【问题描述】:

我有一个特殊的问题。我正在尝试“现代化”和为旧 IE 制作的旧应用程序,以便在 IE 11 中工作。但不知何故,CSS 类没有应用于 DOM 元素。

CSS 很简单:

.header {
    height: 45px;
    padding: 0 15px 0 15px;
    background: url(/pricemanager/static/img/bg_header.png) repeat-x left top;
    border-bottom: 1px solid #717273;
}

这就是开发者工具在 IE 8、IE 9 和 IE 11 中的样子:

奇怪的是,在 IE 11 中重新加载页面后,它会寻找应用该类的一秒钟,但下一刻它就消失了。我已经检查过了,没有 javascript 操作这个 DOM 对象 AFAIK。我检查了网络跟踪,并且 css 文件在所有三个浏览器中都加载了。任何帮助将不胜感激。

【问题讨论】:

  • 样式表是否包含在 IE 条件注释中?
  • 没有。样式表称为 pm2.base.css,可以在 IE 11 屏幕截图中看到,但不知何故未应用类。
  • 可能.header 类之前的语法格式不正确。 .header 是唯一一个似乎没有被应用的类吗?如果可以的话,也许值得创建一个小提琴或者向我们展示 .header 类之前的 CSS。
  • @HiddenHobbes 我会尝试在小提琴中重现它。我有一种感觉 extjs (3.4) 可能与此有关,但谷歌到目前为止还没有发现任何东西。乍一看,这是唯一没有被应用的类。语法对我来说似乎还不错:
  • 谢谢。继续您提供的 CSS 和信息,一切看起来都不错,应该可以工作。如果没有通过条件注释包含 CSS 文件,我目前唯一的想法是 CSS 文件中可能存在语法错误,导致规则被忽略。该类是否适用于其他非 IE 浏览器?

标签: html css internet-explorer-8 internet-explorer-9 internet-explorer-11


【解决方案1】:

是否有可能有一些 CSS 覆盖,例如专门针对 IE7 的 CSS-hacks?

.header{
*margin-top:20px;
}

【讨论】:

  • 我发现了一两个黑客,删除了它们,但到目前为止没有任何区别。我会深入挖掘。
【解决方案2】:

我没有找到发生这种情况的原因,但是我将用于导航的 css 移到了一个单独的文件中,它现在似乎可以工作了。

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签