我有一个网站(使用PHP)。主要背景为绿色,内容区域为白色。当切换到一个页面到另一个页面时(因为它需要几毫秒),背景颜色在白色接管之前闪烁。我认为这是因为绘制/创建dom元素的方式。我尝试使用ob_start();
和ob_flush();
,但没有多少帮助。
有什么方法可以避免这种情况吗?
由于 JJ
答案 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浏览器。