视图是 Semantic UI 中一类特定的 UI 组件,用于以视觉格式和结构化内容呈现数据集合。视图与其他组件类别的不同之处在于,它们专注于以一致、标准化的格式呈现复杂数据对象,而不是提供交互式功能(如模块)或基本 UI 构建块(如元素)。
视图旨在以用户能够快速理解和扫描的、可识别的模式来显示内容和信息。它们对于显示类似内容项的集合特别有用,例如产品列表、媒体集合或内容提要。
有关 Semantic UI 中其他组件类别的更多信息,请参阅核心 UI 组件和 CSS 样式系统。
来源: src/definitions/views/card.less14-16 src/definitions/views/item.less14-16
Semantic UI 中的视图遵循一致的架构模式。每种视图类型在 src/definitions/views/ 目录下定义为一个 LESS 文件,并在 src/themes/default/views/ 中具有相应的样式变量。
所有视图组件共享通用模式
.ui.card,.ui.items)来源: src/definitions/views/card.less20-26 src/definitions/views/item.less20-26
卡片视图以具有一致格式的自包含、卡片式组件呈现内容。卡片通常用于显示类似对象的集合,例如产品、团队成员或文章。
卡片可作为单个项目(.ui.card)或集合(.ui.cards)使用。当用作集合时,它们可以显示在具有预定义宽度的行中。
.ui.two.cards或.ui.four.cards等类,卡片可以以类似网格的方式显示来源: src/definitions/views/card.less28-45 src/definitions/views/card.less66-76 src/themes/default/views/card.variables10-33
| 章节 | CSS 类 | 目的 |
|---|---|---|
| 根目录 | .ui.card | 整个卡片的容器 |
| 图片 | .image | 卡片主图像的容器 |
| 内容 | .content | 主要内容区域(标题、元信息、描述) |
| 标题 | .content > .header | 卡片的标题或主标题 |
| 元信息 | .meta | 次要信息(日期、类别) |
| 描述 | .description | 主要文本内容或摘要 |
| 额外 | .extra | 额外信息或操作 |
来源: src/definitions/views/card.less144-155 src/definitions/views/card.less167-182 src/definitions/views/card.less392-416
卡片通过以下方式实现响应式行为:
.doubling 修饰符会在较小的屏幕上自动调整每行的卡片数量.stackable 修饰符会使卡片在移动设备上垂直堆叠来源: src/definitions/views/card.less860-943 src/definitions/views/card.less1034-1048
项目视图旨在将内容集合显示为一系列项目,每个项目通常以图像和内容为特色。项目通常用于内容量大的列表,例如搜索结果、新闻提要或产品列表。
与卡片不同,项目默认设计为垂直列表格式显示,强调每个项目中图像和内容的水平布局。
来源: src/definitions/views/item.less28-44 src/definitions/views/item.less50-59 src/themes/default/views/item.variables10-23
| 章节 | CSS 类 | 目的 |
|---|---|---|
| 容器 | .ui.items | 整个项目集合的包装器 |
| 项目 | .item | 单个项目容器 |
| 图片 | .image | 项目图像的容器 |
| 内容 | .content | 主要内容区域 |
| 标题 | .content > .header | 标题或主标题 |
| 元信息 | .meta | 次要信息(日期、类别) |
| 描述 | .description | 主要文本内容或摘要 |
| 额外 | .extra | 额外信息或操作 |
来源: src/definitions/views/item.less86-102 src/definitions/views/item.less113-131 src/definitions/views/item.less186-192 src/definitions/views/item.less298-326
项目通过以下方式处理响应式设计:
.unstackable 类来源: src/definitions/views/item.less333-375 src/definitions/views/item.less467-472
尽管卡片(Cards)和列表项(Items)在展示内容集合方面有相似的用途,但它们有不同的用例和特性。
| 功能 | 卡片 | 项 (Items) |
|---|---|---|
| 布局 | 基于网格,每行多个 | 基于列表,垂直堆叠 |
| 列表项布局 | 垂直(图片在内容上方) | 水平(图片在内容旁边) |
| 视觉分量 | 较重,有阴影和边框 | 较轻,更侧重内容 |
| 典型用法 | 产品网格,个人资料卡 | 搜索结果,内容列表 |
| 间距 | 固定每张卡片的宽度 | 流体宽度,适应容器 |
| 图片位置 | 通常在顶部 | 通常在左侧 |
| 容器 | .ui.cards | .ui.items |
| 列表项容器 | .ui.card | .ui.items > .item |
来源: src/definitions/views/card.less28-45 src/definitions/views/item.less28-44
Semantic UI 中的视图可以通过主题化系统进行高度定制。每个视图组件都有一个位于主题目录下的专用变量文件。
可主题化的关键方面包括:
来源: src/themes/default/views/card.variables1-221 src/themes/default/views/item.variables1-157
在使用 Semantic UI 的视图时,请考虑以下实施指南:
.doubling 和 .stackable.raised,.centered)有关创建自定义主题的更多信息,请参阅 主题系统 和 变量和覆盖。
来源: src/definitions/views/card.less418-751 src/definitions/views/item.less378-437