Bas*_*asj 5 html javascript css fonts flicker
我有一个 HTML 页面,其中有许多用途flexbox和一些div带有 CSS 的图标background-image。
在浏览器中打开 HTML 页面(即使在本地,不使用网络)时,会出现一些闪烁(可能不到 100 毫秒,但仍然存在):
有些项目移动了几个像素(因为flexbox居中)
某些图标需要几毫秒才能加载
字体需要几十毫秒来加载,因此我们可以看到使用默认字体(可能 < 50 毫秒)显示的内容,然后使用正确的字体(@font-face...)
如何要求浏览器仅<div class="header-toolbar">在准备好以明确方式 100% 绘制时才显示/显示 HTML 元素(例如工具栏)(无需进一步移动/闪烁)?
display: none;(opacity: 0;也visibility: hidden;可以)添加到您的<body>.function loaded() {
// Change 'block' to default display value of your body element.
document.querySelector('body').style.display = 'block';
}
requestAnimationFrame(loaded);
Run Code Online (Sandbox Code Playgroud)