我有一个网站(使用PHP)。主要背景是绿色,内容区域是白色的。当切换到另一个页面时(因为它需要几毫秒),在白色接受它之前,背景颜色会闪光。我认为这是因为dom元素被绘制/创建的方式。我尝试使用ob_start();
和ob_flush();
,但没有太多的帮助。如何在加载网页时避免背景色闪烁?
有什么办法可以避免这种情况?
感谢 JJ
我有一个网站(使用PHP)。主要背景是绿色,内容区域是白色的。当切换到另一个页面时(因为它需要几毫秒),在白色接受它之前,背景颜色会闪光。我认为这是因为dom元素被绘制/创建的方式。我尝试使用ob_start();
和ob_flush();
,但没有太多的帮助。如何在加载网页时避免背景色闪烁?
有什么办法可以避免这种情况?
感谢 JJ
您可以尝试明确设置大小(高度和宽度)或最小高度为内容的区域。您也可以使用具有白色区域的背景图像。如果您的背景是纯色(或水平渐变),则可以使用1px高的gif,这将是一个非常小的文件大小。但是在第一次加载背景之前,你仍然可能会眨眼睛。
最终,我认为用户习惯于看到这一点。我不认为这是一个大问题,不会花大量时间来解决它。但也许你的老板不同意。
你打它的头..老板不同意。让我检查一下设置高度。谢谢 – user187580 2009-12-21 14:57:40
只是猜测,但在你的CSS中,把两个规则放在一个CSS文件中,然后首先将内容区域样式声明,并确保这个CSS文件在任何其他文件之前加载。
我不知道这是否是这样,但我看到的是,以避免在IE浏览器没有程式化元素的闪烁问题,有人添加一个空脚本标记,
<script type="text/javascript">//This is necessary to avoid flickering of not stylized items in IE</script>
我个人很喜欢闪。它让我知道一个新的页面实际上已加载。这是反馈。
一位老同事向我介绍了一个鲜为人知的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浏览器。
听起来像这个问题是浏览器端,可能是你构建HTML/CSS的方式。 您使用哪个浏览器和版本?你能发布一个最小的HTML代码片段来重现这个吗? – Paolo 2009-12-21 14:49:57