空状态

图标 + 标题 + 描述 + 可选动作按钮。

暂无收藏

你还没有收藏任何作品,去逛逛找点喜欢的吧。

<div class="empty">  <div class="empty-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-6l-2 3h-4l-2-3H2"/><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"/></svg></div>  <p class="empty-title">暂无收藏</p>  <p class="empty-desc">你还没有收藏任何作品,去逛逛找点喜欢的吧。</p>  <div class="empty-action"><button class="btn btn-primary btn-sm">去发现</button></div></div>

安装

bun add @icen.ai/ui

一行引入该组件(CSS 与 behavior 自动带上,无需关心内部 CSS 文件名):

import '@icen.ai/ui/kit/empty';

也可以用脚手架直接打印引入行:

bunx --bun @icen.ai/ui add empty

Astro 项目注意:kit 入口里的 CSS import 在页面 <script> 里会被 Astro 的 client bundle 摇掉——请改在布局 frontmatter 里引 CSS(import '@icen.ai/ui/components/empty.css';),JS 行为仍可走 kit。Vite SPA / webpack 项目无此问题。

用法

<div class="empty">  <div class="empty-icon">…svg…</div>  <p class="empty-title">暂无数据</p>  <p class="empty-desc">描述文字</p>  <div class="empty-action"><button class="btn btn-primary btn-sm">动作</button></div></div>