我在做首屏优化,尝试用渐进式渲染先显示骨架屏再加载真实内容,但页面老是闪一下白屏或者布局跳动,体验很不好。
我现在的做法是用 visibility: hidden 隐藏内容区域,等数据回来再切 visibility,但好像没解决问题。有没有更稳的方案?
这是我的关键代码:
.skeleton {
display: block;
}
.content.loaded {
visibility: visible;
}
.content:not(.loaded) {
visibility: hidden;
}
这样内容加载完成后,通过 opacity 的变化来过渡,体验会好很多。拿去改改。