Skip to content

卡片 (Cards) ​

v-card 组件是一个多功能和强化版本的 v-sheet ,为标题、文本、图片、图标等等的显示提供简单的接口。

Card Entry

使用 ​

使用 v-card 组件是一种流行的包裹不同内容的组件,例如表格、图像或者一些动作按钮的方法。

API ​

组件描述
v-card主要组件
v-card-item用来包裹卡片组件的 v-card-title 和 v-card-subtitle 组件的子组件。
v-card-title用来显示卡片组件的标题的子组件。也可以用 #title 插槽实现。
v-card-subtitle用来显示卡片组件的子标题的子组件。也可以使用 #subtitle 插槽实现。
v-card-text用来显示卡片组件的文字的子组件。也可以用 #text 插槽实现。
v-card-actions会修改默认 v-btn 的样式的子组件。同样也可以使用 #actions 插槽实现。

组件结构 ​

v-card 中元素的推荐放置是:

  • 在卡片顶部放置 v-card-title,v-card-subtitle 组件
  • 在卡片的头部下面放置 v-card-text 和其他媒体形式
  • 再接着放置 v-card-actions 组件

Card Anatomy

元素 / 区域描述
1. 容器卡片组件容器包含了所有 v-card 组件。通常由三个主要的子组件 v-card-item,v-card-text 和 v-card-actions 构成
2. 标题(可选)拥有稍微大一点的 font-size 的标题
3. 子标题 (可选)拥有浅色文字的子标题
4. 文本(可选)拥有浅色文字的文字区域
5. 操作 (可选)拥有若干例如 v-btn 组件的内容区域

指南 ​

v-card 组件是一个多功能和强化版本的区块。它为标题,文字,图像和动作等组合提供了一个简单的接口。它可以作为最常用的展示内容的包含容器。

基础用法 ​

有三种方式可以填充 v-card 组件的内容。第一种是使用组件属性,第二种是使用组件插槽,第三种则是手动使用 v-card-* 组件填充。

属性 (porps) 可以让你轻松地显示纯文本的界面,同样也可以轻松地放置图像和图标。如果你需要渲染更复杂地内容,请使用插槽 (slots)。如果你需要实现对内容地完全控制,可以使用子组件标记 (markup)。

混合 ​

上面的三种方法是可以结合起来使用的,例如下面的例子中同时使用了属性,插槽和子组件。

INFO

通常插槽的优先级要高于属性。如果你同时提供了 text 属性和 text 插槽,则仅会渲染插槽的内容。

属性 ​

v-card 组件有大量的属性,可以允许你自定义其样式和行为。

变体 (Variants) ​

variant 属性可以让卡片具有不同的风格。允许的变化形式有:elevated(默认)、flat、tonal、outlined、text 和 plain。

值描述
elevated使用阴影强调卡片
flat去掉卡片的阴影和边框
tonal背景颜色是当前颜色的低透明度版本
outlined拥有细边框,且没有强调效果的卡片
text移除背景颜色和阴影
plain移除背景颜色并且在未悬停时降低透明度

颜色 ​

可以通过修改 color 属性为内置颜色或者其他颜色辅助类来设置卡片的背景颜色。

强调效果 (Elevation) ​

elevation 属性可以提供24层级的阴影深度,默认的值为 2dp。

悬停 (Hover) ​

当使用 hover 属性时,卡片会在鼠标悬停在其之上时提高它的强调效果。

超链接 ​

可以使卡片变成一个有 href 属性的锚点。

链接 ​

添加 link 属性可以增加超链接效果而不必新增锚点。

禁用 ​

添加 disabled 属性可以防止用户和其进行交互。

图像 ​

为卡片添加特定的背景图像。

TIP

默认情况下, v-card 不允许它的内容外溢到容器外。同时它还会通过建立 z-index 环境的方式,阻止其内容显示到 v-card 外的元素之上。要更改这个默认行为,请将其样式调整为 <v-card style="overflow: initial; z-index: initial">。

插槽 ​

v-card 组件提供了一系列插槽,可供自定义卡片内容或者增加额外的内容。

插槽给予了 v-card 强大的自定义能力,但同时又保留了属性简单易用的特点。

头像和图标 ​

你可以使用 prepend-avatar, append-avatar, prepend-icon 以及 append-icon 属性或者给 prepend 和 append 插槽添加 v-icon,来给卡片组件插入图标。

示例 ​

下面的例子用于展示 v-card 组件更为高级和更为贴近实际情况的用法。

卡片显示 ​

使用 v-expand-transition 以及 @click 事件,卡片能在点击后展示隐藏的卡片,展示更多信息。

包含内容 ​

v-card 组件在包裹内容方面用处很大。

自定义操作 ​

使用简单的条件,您可以轻松添加隐藏的补充文本,直到被打开。

栅格 (Grids) ​

搭配使用 grids 。可以构建漂亮的布局。

水平卡片 ​

您还可以使用布局 layout flex 来玩卡片布局。

信息卡片 ​

卡片组件可以作为更多详细信息的切入点。为了保证组件不至于太杂乱,请不要同时放置太多用户可进行的操作。

带文字的媒体 ​

使用布局系统,我们可以在背景任意位置加上自定义文字。

Twitter 卡片 ​

v-card 组件有多个子组件帮助您建立复杂的示例,而不必担心间隔。此示例由 v-card-title、 v-card-text 和v-card-actions 组件组成。

天气卡片 ​

通过使用 v-list-items 和 v-slider,我们可以创建独特的天气卡片。列表组件确保我们具有一致的间距和功能,而滑块组件允许我们向用户提供有用的选择界面。

加载 ​

使用加载中的 v-progress-linear 表明处于加载状态。

收入目标 ​

例子中使用了插槽来自定义不同内容区域的表现内容。

预算卡片 ​

使用卡片的属性和实用类 (utility classes) 的组合来创建预算卡片。