分页

纯样式契约(翻页逻辑归消费方):1 … 4 [5] 6 … 12 静态演示,含禁用态与省略号。

<nav class="pagination" aria-label="分页">  <button class="page-btn motion is-disabled" aria-label="上一页"></button>  <button class="page-btn motion">1</button>  <span class="page-ellipsis"></span>  <button class="page-btn motion">4</button>  <button class="page-btn motion is-active" aria-current="page">5</button>  <button class="page-btn motion">6</button>  <span class="page-ellipsis"></span>  <button class="page-btn motion">12</button>  <button class="page-btn motion" aria-label="下一页"></button></nav>

安装

bun add @icen.ai/ui

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

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

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

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

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

用法

<nav class="pagination" aria-label="分页">  <button class="page-btn motion is-disabled" aria-label="上一页"></button>  <button class="page-btn motion is-active" aria-current="page">1</button>  <button class="page-btn motion" aria-label="下一页"></button></nav>