3

我有一个正在构建的响应式网站http://50.97.104.102/~topdog/。由于桌面 css 出现在样式表的底部,因此页面在移动布局中呈现半秒(徽标出现在中心)。然后切换到桌面格式。这仅在 IE 6、7 和 8 中发生。这是一个非常微妙的问题,仅持续半秒。大多数现代浏览器(我使用 chrome)似乎要等到所有 css 都加载完毕后再渲染页面。

有没有办法强制 IE 6,7 和 8 等到整个 CSS 文件被加载后再渲染页面?最好没有javascript。

4

1 回答 1

2

您可以使用以下 CSS

body {
  visibility: hidden;
}
body.finished {
   visibility: visible;
}

并从 onload 处理程序将完成的类添加到主体。

如果没有 JS,这将无法工作。如果您希望它在没有 JS 的情况下工作,您可以执行以下操作,如果 JS 被禁用,则会出现闪烁,但如果 JS 被启用,则会消除闪烁。

body.not-ready{
   visibility: hidden;
}

<body>
<script>
  $(document.body).addClass('not-ready');
  $(window).load(function(){
    $(document.body).removeClass('not-ready')
  });
</script>

</body>
于 2012-04-24T20:51:34.810 回答