菜单

元素

相关源文件

Semantic UI 中的元素代表用户界面最基本的构建块。它们是独立的 UI 组件,具有特定的功能,可以组合创建更复杂的 UI 模式。元素构成了 Semantic UI 组件层级的底层基础。

与用于组合相关 UI 元素的集合(将在“集合”中介绍)、具有交互式 JavaScript 行为的模块或显示内容项集合的视图不同,元素是更简单、独立的组件,代表基本的 UI 概念。

元素类型概述

Semantic UI 中的元素包含几种核心组件类型,它们提供了界面的基本构建块。

来源: src/definitions/elements/segment.less src/definitions/elements/list.less src/definitions/elements/header.less src/definitions/elements/icon.less

上图显示了 Semantic UI 中提供的所有主要元素。本文档将重点详细介绍几个关键元素。

共同特征

Semantic UI 中的元素共享共同的特征并遵循一致的模式。

来源: src/definitions/elements/segment.less793-827 src/definitions/elements/list.less893-950 src/definitions/elements/header.less700-706 src/definitions/elements/icon.less395-436

元素遵循一致的类命名约定,即 .ui.{element},并提供各种修饰符进行自定义。

关键元素类型

区段

Segment 是容器,用于组织相关内容。它们提供了一种在 UI 中创建独立部分的方法。

来源: src/definitions/elements/segment.less113-227 src/definitions/elements/segment.less269-287 src/definitions/elements/segment.less293-306 src/definitions/elements/segment.less310-318 src/definitions/elements/segment.less323-327 src/definitions/elements/segment.less335-362

可以使用 .ui.segments 容器将 Segments 分组在一起,这允许使用统一的边框和样式实现一致的 segment 组。

Segment 类型描述
基础.ui.segment带有默认样式的标准 segment
Raised(抬高).ui.raised.segment带有阴影,看起来像是抬高的 segment
Stacked(堆叠).ui.stacked.segment在其下方带有“堆叠”页面的 segment
Piled(堆叠成堆).ui.piled.segment看起来像一堆纸张的 segment
纵向.ui.vertical.segment只有底部边框,用于细分内容的 segment
水平.ui.horizontal.segments将 segments 水平分组,而不是垂直分组
Colored(彩色).ui.[color].segment带有颜色强调的 segment
Inverted(反色).ui.inverted.segment具有反色(深色背景)的 segment

来源: src/definitions/elements/segment.less546-665 src/definitions/elements/segment.less700-708

Header 提供层级和结构给你的内容。它们可以包含图标、图片和子标题。

来源: src/definitions/elements/header.less144-177 src/definitions/elements/header.less184-216 src/definitions/elements/header.less222-241 src/definitions/elements/header.less249-293 src/definitions/elements/header.less607-620 src/definitions/elements/header.less626-649 src/definitions/elements/header.less654-697

可以使用 HTML 标题标签(h1-h5)或大小类来调整 Headers 的大小。它们也可以包含图标、图片和子标题。

Header 类型描述
标准.ui.header具有默认样式的基本 header
页面 Headersh1.ui.headerh5.ui.header传统的标题层级
内容 Headers.ui.huge.header.ui.large.header 等。没有语义意义的大小变化
Subheader(子标题).ui.header .sub.headerHeader 中的二级文本
Icon Header(图标 Header).ui.icon.header图标位于文本上方的居中 Header
Dividing(分隔).ui.dividing.header下方带有分隔线的 Header
模块.ui.block.header带有彩色背景的 Header

来源: src/definitions/elements/header.less145-241 src/themes/default/elements/header.variables71-89

列表

列表以一致的格式显示相关内容的组。Semantic UI 提供各种列表类型以适应不同的内容呈现。

来源: src/definitions/elements/list.less550-607 src/definitions/elements/list.less613-679 src/definitions/elements/list.less279-315 src/definitions/elements/list.less685-756 src/definitions/elements/list.less769-843 src/definitions/elements/list.less859-888 src/definitions/elements/list.less462-512 src/definitions/elements/list.less526-531 src/definitions/elements/list.less420-456

列表可以包含丰富的内​​容,如图标、图片、标题和描述。它们也可以嵌套以创建分层结构。

列表类型描述
基础.ui.list具有最少样式的标准列表
项目符号列表.ui.bulleted.list带项目符号的列表
有序.ui.ordered.list编号列表
水平.ui.horizontal.list项目水平显示的列表
分隔列表.ui.divided.list项目之间带有分隔线的列表
单元格列表.ui.celled.list每个项目周围都有单元格边框的列表
选择列表.ui.selection.list可选择项目的列表
动画列表.ui.animated.list带有悬停动画的列表
链接.ui.link.list链接项目的列表

来源: src/definitions/elements/list.less550-950

图标

Semantic UI 提供一个基于 Font Awesome 的广泛图标系统,支持各种自定义和样式。

来源: src/definitions/elements/icon.less69-106 src/definitions/elements/icon.less138-214 src/definitions/elements/icon.less220-387 src/definitions/elements/icon.less93-106 src/definitions/elements/icon.less443-503

Semantic UI 的图标系统包含数百个图标,可以通过简单的类名使用。图标可以通过大小、颜色和状态变化进行自定义。

图标变体描述
基础i.icon标准图标
尺寸i.large.icon, i.small.icon, 等。不同尺寸的图标
Colored(彩色)i.red.icon, i.blue.icon, 等。特定颜色的图标
圆形i.circular.icon圆形容器中的图标
带边框i.bordered.icon带边框的图标
Inverted(反色)i.inverted.icon颜色反转的图标
加载i.loading.icon动画加载图标
分组任务i.icons将多个图标组合在一起

来源: src/definitions/elements/icon.less394-436 src/definitions/elements/icon.less138-214 src/definitions/elements/icon.less220-387

元素实现架构

以下图表显示了元素在代码库中的结构

来源: src/definitions/elements/segment.less1-18 src/definitions/elements/list.less1-18 src/definitions/elements/header.less1-19 src/definitions/elements/icon.less1-19

每个元素包含

  1. src/definitions/elements/ 中的 LESS 定义文件
  2. src/themes/default/elements/ 中的变量文件,用于主题化
  3. 用于附加自定义样式的可选覆盖文件

自定义元素

可以通过修改变量或创建主题覆盖文件来通过 Semantic UI 的主题系统自定义元素。

来源: src/themes/default/elements/segment.variables src/themes/default/elements/list.variables src/themes/default/elements/header.variables src/themes/default/elements/icon.variables src/themes/default/elements/icon.overrides

每个元素都有一组可自定义的变量,用于控制其外观。例如:

元素变量示例文件
区段@background@border@boxShadowsrc/themes/default/elements/segment.variables
标题@fontFamily, @fontWeight, @lineHeightsrc/themes/default/elements/header.variables
列表@itemLineHeight, @itemPadding, @childListPaddingsrc/themes/default/elements/list.variables
图标@opacity, @width, @heightsrc/themes/default/elements/icon.variables

组合元素

元素可以组合起来创建更复杂的UI模式。以下是不同元素如何协同工作

来源: src/definitions/elements/segment.less63-66 src/definitions/elements/list.less107-115 src/definitions/elements/header.less63-76

该结构展示了一个片段(segment)如何包含一个标题(header)和一个列表(list),列表又包含具有自身标题、图标和描述的条目(items)。

结论

元素是 Semantic UI 界面的基础构建块。它们提供了可以进行样式化、定制和组合的独立 UI 组件,用于创建更复杂的 UI 模式。它们一致的类命名约定和广泛的定制选项,使其成为创建语义化和可维护界面的强大工具。

有关更复杂的元素组合,请参阅 Collections,有关具有 JavaScript 行为的交互式组件,请参阅关于 Core UI Components 的文档。