组件不插入固定封面、标题、正文或页脚。
四张完整卡片,直接试玩。
点击后面的牌、拖动当前牌,或使用下方按钮切换。终端和文章卡片还可以在卡片内部滚动。
Personal progress
今天也在向前。
连续学习18 天
本周训练4.6 h
GitHub 提交23 次
博客更新5 篇
本周计划72%
Spring Boot · 第 4 章
把一次请求讲清楚。
从 Controller 到数据库,再从实体转换为页面需要的数据。
01请求进入 Controller8 min
02Service 编排业务12 min
03Repository 隔离存储15 min
04DTO 与 VO 的边界10 min
05完成一次重构20 min
fox@lab:~/fan-poker$ npm test
✓ static validation
✓ node and SSR import
✓ package size
✓ chromium interaction smoke
fox@lab:~/fan-poker$ npm pack --dry-run
package: @hubujiu/fan-poker-deck
version: 2.0.0
status: ready
isolated worlds
floating scrollbars
gesture arbitration
zero dependencies
一张卡片,也可以装下一篇完整文章。
组件不替内容决定结构,只提供边界、动画和交互秩序。
过去的卡片组件通常先规定封面、标题、正文和页脚,再让内容填入这些固定位置。
Fan Poker Deck v2 反过来处理:卡片获得一个独立世界,使用者自己决定里面是什么。
边界归组件,世界归卡片。
当内容超过卡片尺寸时,滚动仍发生在卡片内部。原生滚动条不会常驻,鼠标靠近边缘时才显示浮动控件。
继续向下滚动,可以确认这不是被截断的静态样张,而是一张真正能够承载长内容的卡片。
同一个牌组还可以混合仪表盘、表单、小游戏和其他 Web Component,它们的样式不会互相串色。
卡片不再是模板。
成品可以完全不同,但牌组切换、手势、滚动和可访问性由同一个组件统一处理。
每张卡片拥有自己的 Shadow Root 和视觉规则。
隐藏原生滚动条,只在右边或底边浮出玻璃式控件。
横向内容优先滚动,不再与牌组切换争抢鼠标。
Node 与服务端渲染环境仍可安全导入模块。
没有运行时依赖,也没有内置设计系统包袱。
复制,然后建立自己的卡片世界。
生产页面固定版本地址,升级节奏留在自己手里。
<script type="module"
src="https://cdn.jsdelivr.net/npm/@hubujiu/fan-poker-deck@2.0.0/dist/fan-poker.js">
</script>
<fan-poker card-width="390px" card-height="520px" aria-label="课程">
<fan-card aria-label="第一章">
<style>
:host {
display: block;
min-height: 100%;
background: #fff8ed;
}
</style>
<main>整个卡面由你决定。</main>
</fan-card>
</fan-poker>
旧页面暂时不能迁移?
继续固定 v1.0.3,等卡片结构改造完成后再进入 v2。