Skip to content

Card 卡片 ​

用于承载一组相关内容的信息容器。

基础用法 ​

基础卡片

这是一张基础卡片,展示一组摘要信息。

内容区支持任意自定义结构。

无标题 ​

无标题卡片

省略 title 属性时,仅保留内容区。

可悬浮 ​

悬浮阴影

将鼠标移入卡片,可看到阴影过渡效果。

扩展区 ​

带操作扩展区

通过 extra 插槽在标题右侧放置操作。

新建

封面图 ​

cover-src 属性或 cover 插槽可在卡片顶部放一张全宽封面图(object-fit: cover 自适应裁切)。

cover-src 封面图

沿江 15 公里休闲骑行线路,周末出发正合适。

cover 插槽自定义封面

封面图

周末两日轻装徒步路线推荐,无需露营装备。

封面 + 操作区(商品卡) ​

底部 actions 插槽放按钮组,上方自动带分隔线。

商品卡

主动降噪 · 30 小时续航 · 蓝牙 5.3

¥ 899

查看详情加入购物车

可点击(clickable) ​

clickable 整卡可点:可聚焦、Enter/Space 触发 oas-click,焦点环随键盘聚焦出现。点击操作区内的按钮不会触发整卡点击。

可点击卡片

点击整卡或按 Enter/Space 触发 oas-click。

可点击 + 操作区互不干扰

点卡片主体触发整卡点击;点右下按钮走各自操作。

邀请成员归档

可选中卡(selectable) ​

selectable 让整卡可点选切换选中态——适合图片/标题/描述/操作区俱全的大卡片做多选。选中态为 primary 描边 + 浅 primary 底 + 右上勾选角标;点击卡内的按钮/链接等交互元素不会触发选中;键盘 Space/Enter 同样生效。

单卡缺省不挂 role:可点/可选卡内常嵌操作按钮或链接,挂交互角色会把卡内控件裹进交互元素(屏幕阅读器丢失内部控件可读性),组件仅保留 tabindex 保证键盘可达;多卡组需要单选/多选语义时,由宿主在卡片上显式挂 role="radio"(或 role="checkbox")并自行管理互斥选中——组件不覆盖宿主显式角色,只叠加 aria-checked 同步。

宿主不设 selected 时组件内部切换并反射属性(非受控);设了 selected 即受控——组件只派发 oas-change(detail 为 { selected },切换后的新状态),选中态由宿主监听回写。loading 骨架态不可选;与 href 同设时点选优先于跳转(卡内显式链接/按钮仍走各自操作)。

多选卡(非受控)

已选 0 项

轻量起步,适合小团队验证想法。

查看详情

标准协作套件,含自动化工作流。

查看详情

企业级管控,私有部署与审计。

查看详情

受控单选卡组(宿主回写 oas-change)

5 人以内 · 基础看板

不限人数 · 自动化流程

私有部署 · 审计日志

加载骨架(loading) ​

loading 时内容区切换为骨架占位(微光动画),正文隐藏;宿主同步 aria-busy。

加载骨架

数据加载完成后展示正文。

切换 loading

紧凑尺寸(size) ​

size="small" 收紧内边距与标题字号,适合信息密度高的列表场景;默认 medium。

size=small 紧凑卡片

更小的内边距与标题字号。

查看

紧凑密度(density) ​

density="compact" 是独立于 size 的布局密度档:同时收紧卡片内各分区的内边距与间距(比 size="small" 更紧),适合信息密集的看板、列表与设置面板;默认 default。与 size(字号刻度)正交,可叠加使用。

density=compact 紧凑密度

内边距与各分区间距同时收紧,信息密度更高。

查看

默认档位下的常规内边距与间距。

查看

无边框形态(variant) ​

variant="borderless" 去掉容器描边,适合嵌套在卡片内做设置分组;默认 outlined。

无边框嵌套(设置面板)

接收被提及、指派与评论回复的提醒。

每周一汇总发送项目动态摘要。

footer 插槽是独立于操作区的任意底栏:放补充说明、元信息;actions 仍是按钮操作区。

footer 底条 + actions 操作区

我们更新了数据处理条款,请确认后继续。

同意并继续

更新于 2026-09-01 · 适用于全部工作区

标题分割线(header-bordered) ​

标题区底部分割线默认显示;header-bordered="false" 关闭。

header-bordered=false

标题与内容之间保留分隔线。

标题紧贴内容,适合轻量分组。

阴影三态(shadow) ​

shadow="none | hover | always":悬浮阴影、常显阴影或无阴影。hoverable 布尔等价于 shadow="hover"(旧用法保持兼容);显式 shadow 声明优先于 hoverable。

shadow=always 常显阴影

阴影始终存在,突出层级。

移入时阴影 + 上浮(hoverable 同款)。

用户卡(Meta) ​

slot="avatar" 在标题左侧放头像;description 属性(或 slot="description")在标题下方放一行次级小字。两者任一在场时,标题区自动变为「头像 + 标题 + 副文案」形态。

Meta 用户卡

林晓关注

负责组件库架构与渲染性能优化,最近在研究 SSR 水合。

组件性能

链接卡(href) ​

href 单独即生效(无需 clickable):整卡语义为链接,内部锚点承载地址,焦点与键盘 Enter 都由锚点原生支持;target 一并透传。点击卡片内嵌的按钮/链接仍走各自操作,不会误触发整卡跳转。

href 链接卡

点击卡片任意处跳转(键盘 Enter 同样生效)。

新标签页打开,带 target 透传。

组合:标签页 ​

卡片内可以组合其他组件,例如 oas-tabs 做「设置中心」式分区。

卡片内嵌标签页

项目名称、可见范围与默认语言。

邀请成员并按角色分配权限。

归档策略、Webhook 与 API 访问令牌。

栅格卡 ​

宿主 grid 均分卡内块:卡片只负责容器,布局交给宿主 CSS grid。

栅格均分

32

进行中项目

18

已完成交付

96%

按期率

看板卡 ​

与 oas-statistic 组合成数据看板。

统计看板

今日访问量

错误率

在线会话

电商图卡 ​

封面图 + 价格区 + 操作区 + 底条的典型商品卡组合。

电商商品卡

便携机械键盘

¥ 429¥ 599

三模连接 · 热插拔 · Gasket 结构

加入购物车收藏

满 299 包邮 · 7 天无理由退换

禁用卡(disabled) ​

disabled 禁用整卡:灰化呈现(含 dark 自动适配)、宿主同步 aria-disabled、不派发交互事件——clickable 的 oas-click、selectable 的选中切换与 oas-change 全部停摆;href 链接卡同时摘除内部锚点地址(原生导航一并失效)。卡内自带的按钮/链接等控件的自身行为不受本属性影响(控件有自己的 disabled)。

禁用的可点卡 / 可选卡

点击弹出消息。

点击无任何反馈(oas-click 停派)。

保留选中视觉,但不可再切换。

横向布局(orientation) ​

orientation="horizontal" 把封面移到左侧、标题/内容/操作区收进右侧内容列:封面列占 40% 宽并撑满卡片高度(图片不再锁 16:9),适合新闻条目、商品横条等横向空间充足的场景。默认 vertical(封面在顶部的纵向堆叠,现状)。

horizontal 封面左置

封面在左,标题与内容在右,操作区仍在底部。

阅读全文

封面在顶部全宽铺开(现状默认)。

API ​

oas-card ​

属性 ​

属性说明类型默认值
clickable整卡可点(focusable,点击/Enter/Space 派发 oas-click)boolean—
cover-alt封面图 alt 文本(无障碍)string—
cover-src封面图 URL,置于卡片顶部(object-fit: cover 自适应裁切)string—
density密度档位:default(默认)/ compact(内边距与分区间距同时收紧,比 size="small" 更紧,适合信息密集型场景;与 size 正交,可叠加)——
descriptionMeta 副文(title 下方弱化小字;与 description 插槽双通道,slot 优先)string—
disabled禁用整卡:灰化 + aria-disabled + 停派交互事件 + href 摘链(已选视觉保留)boolean—
header-bordered头部分割线(默认 true;"false" 关闭)——
hoverable是否开启悬浮阴影(阴影 + 上浮提升 + 指针)boolean—
href链接卡:整卡语义为链接(内部锚点包装,键盘/中键原生可达)string—
loading加载态:内容区切骨架占位(aria-busy 同步)boolean—
orientationhorizontal 封面左置(40% 宽撑满高)+ 内容列右置string—
selectable可选中卡:点击整卡(或 Enter/Space)切换选中态,派发 oas-change;卡内按钮/链接等交互元素不触发选中;与 href 同设时点选优先、不跳转;loading 骨架态不可选boolean—
selected选中态(配合 selectable):宿主设置即为受控——组件只派发 oas-change 不自改属性,宿主监听回写;未设置时组件内部切换并反射该属性(非受控)boolean—
shadow阴影三态:none / hover(悬停浮起)/ always(常显);hoverable 映射 hover,显式 shadow 优先string—
size尺寸档位:small(紧凑 padding、标题降档)/ medium(默认)——
target链接卡打开目标(配合 href,如 _blank)string—
title卡片标题(渲染进可见标题区;读取后即从宿主移除,不残留原生悬浮提示;清空传空串);富内容用 slot="title"string—
variant形态:outlined(默认,带描边)/ borderless(无边框嵌入形态)——

事件 ​

事件说明
oas-change选中态切换(selectable 时),detail 为 { selected }(切换后的新状态)
oas-click整卡点击(clickable 时),detail 含 originalEvent

插槽 ​

名称说明
默认卡片内容
actions底部操作区(查看/编辑/删除等按钮组),上方带分隔线
avatarMeta 头像位(header 左置,配合 description 成「头像+标题+副文」形态)
cover自定义封面内容(与 cover-src 二选一,cover-src 优先)
descriptionMeta 副文富内容(与 description 属性互斥,slot 优先)
extra标题右侧扩展区
footer独立底条(与 actions 操作区分离)
title标题富内容插槽,有内容时覆盖 title 属性文案

CSS 变量 ​

CSS 变量默认值
--oas-skeleton-colorvar(--oas-color-bg-hover)
--oas-skeleton-duration1.5s
--oas-skeleton-sheenvar(--oas-color-border)

基于 MIT OR Apache-2.0 双许可发布