如何在加载网页时避免背景色闪烁?

时间:2009-12-21 14:46:07

标签: php html css

我有一个网站(使用PHP)。主要背景为绿色,内容区域为白色。当切换到一个页面到另一个页面时(因为它需要几毫秒),背景颜色在白色接管之前闪烁。我认为这是因为绘制/创建dom元素的方式。我尝试使用ob_start();ob_flush();,但没有多少帮助。

有什么方法可以避免这种情况吗?

由于 JJ

4 个答案:

答案 0 :(得分:1)

您可以尝试明确设置内容区域的大小(高度和宽度)或最小高度。您还可以使用具有白色区域的背景图像。如果你的背景是纯色(或水平渐变),你可以使用一个非常小的文件大小的1px高gif。但是在第一次加载背景之前你仍然可能会眨眼。

最终,我认为用户已经习惯了这一点。我不认为这是一个大问题,也不会花很多时间来解决它。但也许你的老板不同意。

答案 1 :(得分:0)

只是一个猜测,但是在你的CSS中,将两个规则放在一个CSS文件中,然后是内容区域样式声明,并确保这个CSS文件在任何其他文件之前加载。

答案 2 :(得分:0)

我不知道是不是这样,但我看到为了避免IE中没有风格化元素的闪烁问题,有人添加了一个空的脚本标记为

<script type="text/javascript">//This is necessary to avoid flickering of not stylized items in IE</script>

答案 3 :(得分:0)

我个人非常喜欢闪光灯。它让我知道实际加载了一个新页面。这是反馈。

一位老同事向我介绍了一个鲜为人知的Internet Explorer <meta>标签......让您可以在页面之间进行fade transition,例如。

<meta http-equiv="Page-Enter" content="progid:DXImageTransform.Microsoft.Fade(Duration=2)">
<meta http-equiv="Page-Exit" content="progid:DXImageTransform.Microsoft.Fade(Duration=2)">

这只是IE浏览器。