1

情况:

我有一个 PHP 编写的页面,其中将包含一个 css via

<style type="text/css">@import url(/css/my.css);</style>

之后(根据需要)加载一个 javascript 文件,该文件会打开一个新的“窗口”,其中将使用 css 声明。

这适用于除 Internet Explorer (7-9) 之外的所有浏览器。

问题:

根据 IE Developer Tools (F12) 加载了 css 文件,我可以看到该文件中的所有声明(它们是正确的),但是当显示新窗口时,css 声明似乎没有生效。

“解决方案”:

取消选择(并重新选择它们,即使没有必要)IE Developer Tools 的 CSS-Tab 中给定 CSS 文件的某些规则会使页面正确“呈现”。

问题:

这种行为来自哪里,我该如何摆脱它?

附加信息:

我没有超过 4095 个(甚至不包括所有 CSS 文件中的所有)选择器(实际上我只有不到 2.5k),并且我只加载了少于 31 个(正好 7 个)不同的 CSS 文件。

按照要求:

<div class="navigate">
<div class="nav-slider">
  <div class="nav-slider-left">
    <span role="button" class="nav-link nav-page-back">&lt;</span>

    <div class="page-number">
      <span>1 of 1</span>
    </div><span role="button" class="nav-link nav-page-next">&gt;</span><span role=
    "button" class="nav-link nav-now">&acirc;&mdash;</span><span role="button" class=
    "nav-link nav-prev-week">&lt;&lt;</span><span role="button" class=
    "nav-link nav-prev-day">&lt;</span>
  </div>

  <div class="nav-slider-content">
    <div class="nav-slider-bar">
      <a class="nav-slider-button"></a>
    </div>
  </div>

  <div class="nav-slider-right">
    <span role="button" class="nav-link nav-next-day">&gt;</span><span role="button"
    class="nav-link nav-next-week">&gt;&gt;</span><span role="button" class=
    "nav-link nav-zoomIn">+</span><span role="button" class=
    "nav-link nav-zoomOut">-</span>
  </div>
</div>

(我已将 HTML 代码缩减为相关部分 [ExtJS 正在围绕给定代码创建大量结构)

CSS 声明在这里

4

1 回答 1

0

我不确定,但这可能是一个缓存问题,因为您的样式被解释为 inline-css 并且在您打开新窗口时不会被保存。您是否尝试使用:

<link href="yourcssfile.css" type"text/css" rel="stylesheet"/> 

更新:这似乎是一个错误。我在这篇文章中发现了你的问题(point5)。解决方案也在那里。

http://www.webcredible.co.uk/user-friendly-resources/css/internet-explorer.shtml

于 2012-08-06T17:33:03.180 回答