Card

常规的卡片容器,可以承载标题、段落、图片、列表等内容。

设计文档(新窗口打开)

代码演示

如何引入

import { Card, CardGroup } from '@chenzy-design/svelte';

基础卡片

基础卡片包含标题、内容等部分。

Semi Design
Semi Design 是由抖音前端团队与 UED 团队共同设计开发并维护的设计系统。设计系统包含设计语言以及一整套可复用的前端组件,帮助设计师与开发者更容易地打造高质量的、用户体验一致的、符合设计规范的 Web 应用。

简洁卡片

卡片可以只设置内容区域。

Semi Design 是由抖音前端团队与 UED 团队共同设计开发并维护的设计系统。

Card meta img
Semi Doc

封面

可以使用 cover 属性设置封面。

example
卡片封面

边线和外边框

可以使用 bordered 设置卡片是否有外边框,默认为 true 。同时,也可以使用 headerLine 设置内容区和标题区是否有边线, footerLine 设置内容区和页尾区是否有边线。

Semi Design
Semi Design 是由抖音前端团队与 UED 团队共同设计开发并维护的设计系统。设计系统包含设计语言以及一整套可复用的前端组件,帮助设计师与开发者更容易地打造高质量的、用户体验一致的、符合设计规范的 Web 应用。

阴影

可以使用 shadows 设置显示阴影的时机,可选值为: hover(hover 时显示阴影)、always(始终显示阴影),如果不设置该属性则没有阴影。

Card meta img
Semi Doc

Card meta img
Semi Doc

更灵活的内容展示

可以利用 Card.Meta 支持更灵活的内容,允许设置 title、avatar、description。

Card meta img
Semi Doc
全面、易用、优质
example
Semi Design 是由抖音前端团队与 UED 团队共同设计开发并维护的设计系统。

内部卡片

卡片内部可以嵌套其他卡片。

Card title
Inner Card title
Inner Card content
Inner Card title
Inner Card content

栅格卡片

在系统概览页面常常和栅格进行配合。

Card Title
Card Content
Card Title
Card Content
Card Title
Card Content
Card Title
Card Content
Card Title
Card Content

内置预加载

可以使用 Card 的 loading 属性来设置卡片内容区是否显示占位元素,当它为 true 时将显示占位元素,反之则不显示。




更丰富的预加载效果

Card 自带的 loading 属性只能设置内容区的预加载效果,如果你想要设置其他部分的预加载,或者自定义更丰富的预加载效果,你可以结合 Skeleton 组件来实现。



带页签的卡片

可以结合 Tabs 组件,实现带页签的卡片。

Card title

卡片操作区

actions 以 12px 的水平间距展示于内容区底部;本库以 snippet 承载(对齐 Semi 的 ReactNode 数组),snippet 内的多个子元素逐项排布。

example
Semi Doc
全面、易用、优质

卡片组

CardGroup 中的卡片将呈现为等间距排列,利用 spacing 属性可以设置卡片间距大小。

滑动调节 Card 间距
10 40

Card title
Card content
Card title
Card content
Card title
Card content
Card title
Card content
Card title
Card content
Card title
Card content
Card title
Card content
Card title
Card content

网格型卡片组

使用 CardGroup 的 type 属性,可以将卡片组设置为网格型。

Card title
Card content
Card title
Card content
Card title
Card content
Card title
Card content
Card title
Card content
Card title
Card content
Card title
Card content

API 参考

Card

属性说明类型默认值
actions卡片操作组,位于卡片内容区的底部,snippet 内多个子元素以 12px 水平间距排布Snippet-
aria-label根节点 aria-label,表述该 Card 的作用string-
bodyStyle卡片内容区内联样式string-
bordered是否设置卡片的外边框booleantrue
class卡片的样式类名string-
cover卡片封面Snippet-
headerExtraContent卡片标题右侧的额外内容Snippet-
footer自定义卡片页脚Snippet-
footerLine卡片页脚区与内容区是否有边线booleanfalse
footerStyle卡片页脚区内联样式string-
header自定义卡片头部,若传入将覆盖 title 和 headerExtraContentSnippet-
headerLine卡片标题区与内容区是否有边线booleantrue
headerStyle卡片标题区内联样式string-
loading是否设置加载时的占位booleanfalse
shadows设置显示阴影的时机,如果不设置该属性则没有阴影,可选值:hover、alwaysstring-
style卡片内联样式string-
title卡片标题string | Snippet-

CardGroup

属性说明类型默认值
class卡片组的样式类名string-
spacing间距尺寸,支持数值或数组,数组形如: [水平间距, 垂直间距]number | number[]16
style卡片组的内联样式string-
type可以把卡片组设置为网格型,设置完该属性后将覆盖 spacing 属性,可选值:gridstring-

Card.Meta

属性说明类型默认值
avatar头像Snippet-
class类名string-
description描述string | Snippet-
style内联样式string-
title标题string | Snippet-

Accessibility

  • Card 支持传入 aria-label 来表示该 Card 作用
  • Card loading 时,将开启 aria-busy
  • Card 为容器型组件,卡片内部的任何元素需要遵循各自的可访问性指南

文案规范

  • 卡片标题
    • 卡片标题应具有信息描述性,聚焦最重要的信息
    • 尽量将标题限制在 1 个短语或句段中
    • 卡片标题应句子大小写书写
    • 不要以标点符号结尾(除了问号)
  • 正文
    • 可操作的:使用祈使句而不是”你可以”来描述正文,可以更好的告诉用户可以做什么
✅ 推荐用法❌ 不推荐用法
Get order progress for detailsYou can get order progress for details
  • 总是优先说最重要的信息
  • 使用 “Need to”而不是”must”

设计变量

变量
默认值
用法
--cd-card-bg var(--cd-color-card-bg-default) 卡片根背景(组件消费)
--cd-card-body-color var(--cd-color-card-body-text) body 正文文字(组件消费)
--cd-card-border-color var(--cd-color-card-border) 卡片外框/头尾分隔线颜色(组件消费)
--cd-card-desc-color var(--cd-color-card-description-text) Meta 描述文字(组件消费)
--cd-card-extra-color var(--cd-color-card-extra-text) header 右侧 extra 文字(组件消费)
--cd-card-title-color var(--cd-color-card-title-text) Meta 标题文字(组件消费)
--cd-color-card-bg-default var(--cd-color-bg-0) 卡片背景颜色(Semi $color-card-bg-default)
--cd-color-card-body-text var(--cd-color-text-1) 卡片正文文字颜色(Semi $color-card_body-text)
--cd-color-card-border var(--cd-color-border) 卡片描边颜色(Semi $color-card-border)
--cd-color-card-description-text var(--cd-color-text-2) 卡片描述文字颜色(Semi $color-card_description-text)
显示第 1 条-第 10 条,共 12 条
  • 1
  • 2