骨架屏可用原生html+css快速实现,无需js或构建工具;用div按真实结构搭建轮廓,通过语义化class控制形状与动画,骨架代码置于body开头以零白屏加载,并适配系统配色与可访问性。

骨架屏不是靠复杂框架,而是用最基础的 HTML 标签 + 简洁 CSS 就能快速搭出来。关键在于结构真实、语义清晰、样式轻量——不需要 JS 初始化,也不依赖构建工具,直接写在 `.html` 文件里就能跑。
用 div 搭出页面“轮廓”
所有骨架元素都用 div 即可,按真实内容区块一一对应,不嵌套多余层级:
- 顶部 Banner →
<div class="skeleton-banner"></div> - 商品卡片 →
<div class="skeleton-card"> <div class="skeleton-img"></div> <div class="skeleton-text skeleton-title"></div> <div class="skeleton-text"></div> </div> - 文字段落 → 每行摘要用独立 div,比如三行就写三个
<div class="skeleton-text"></div>
用 class 控制形状和动画
每个骨架 div 只需加 class,不写内联样式。核心类名统一管理,例如:
-
.skeleton-img:设aspect-ratio: 1/1或固定宽高,border-radius: 8px -
.skeleton-title:height: 24px,width: 60% -
.skeleton-text:height: 16px,width: 100%(首行)或85%(后续行) - 所有骨架类共用动画:背景用
linear-gradient+background-position循环位移
插入位置必须紧贴 开头
骨架结构要放在 标签下第一行,早于任何真实内容容器:
<div class="skeleton">
<div class="skeleton-banner"></div>
<div class="skeleton-card">...</div>
</div>
<main id="app"></main>
这样浏览器解析到这儿就立刻渲染骨架,不会等 JS 加载完才出现——白屏时间归零。
适配可访问性与系统配色
不用 #f0f0f0 这类硬编码灰度值,改用系统语义色:
- 背景色写
background-color: Canvas;或background-color: GrayText; - 渐变动画写
background-image: linear-gradient(to right, CanvasText 25%, Canvas 50%, CanvasText 75%); - 骨架容器加
aria-busy="true",不加aria-hidden,确保屏幕阅读器知道“正在加载中”
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











