【问题标题】:Bad rendering before refreshing in IE7?在 IE7 中刷新之前渲染不好?
【发布时间】:2012-02-08 15:21:00
【问题描述】:

我正在尝试使我的网页在 IE7 中看起来更好。这很令人沮丧。

我发现的一个问题如下图所示。跟随页面链接时,渲染有时会以奇怪的方式中断 - 在下面,似乎边距已关闭,并且缺少颜色。但是,如果您刷新页面,此问题就会消失。如果您多次刷新页面,它不会再次中断 - 在单击链接或在地址栏中输入 URL 后,页面的第一次视图呈现效果不佳。

你知道为什么会这样吗?我正在使用 css3pie 做背景渐变和圆角边框,所以问题可能来自这里。或者,这是我不知道的 IE 错误吗?

我的网站在IE8下渲染OK,还得用css3pie做渐变+边框。

编辑: 如果您缩放页面,此渲染问题将得到解决。我读过的一些东西似乎表明这是 IE6/IE7 中某些渲染的已知问题,但我不知道如何解决它。

【问题讨论】:

  • 您确定所有资源(即图像、css 文件、javascript)在第一页加载时都正确加载了吗?
  • @cdeszq 很难确定,但是页面在所有其他浏览器中都正确加载,所以我假设是这样。我该如何检查?
  • 总是在该页面首次加载时还是在您进行调整后?
  • @PAULDAWG 始终在页面加载时,即使在清除浏览器缓存之后也是如此。
  • 这很奇怪。也许这是一个竞争条件 onload?您的菜单是加载到某种变量中还是加载到某种会话变量中?可能是页面在该操作完成之前加载,然后刷新资源就在那里。 (我猜我知道,但这是一个疯狂的问题)

标签: html css internet-explorer css3pie


【解决方案1】:

我通过写作解决了这个问题:

 <!--[if lte IE 7]>
<style type="text/css">
div {
    position:relative;
}
</style>
<![endif]-->

在页面顶部。我不太明白为什么会出现这个问题——我认为 IE7 的渲染引擎中存在一个错误,这意味着由 css3pie 生成的 css3 元素没有给出正确的边距。另一种解决方案是使用padding 而不是margin

我不明白为什么刷新后问题会自行解决。

【讨论】:

  • 我想知道position:static 是否也会修复它,因为这是默认设置。很高兴您找到了解决此问题的方法!
【解决方案2】:

在 Apache 中关闭 HTC 文件缓存

LocationMatch ".*\.htc"
Header Set Cache-Control "no-cache"
/LocationMatch

【讨论】:

    猜你喜欢
    • 2014-03-23
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    相关资源
    最近更新 更多