3.5 其他常用组件


文档摘要

3.5 其他常用组件 3.5 Bootstrap 其他常用组件详解 在 Bootstrap 的组件库中,除了核心的栅格系统、排版、表单、按钮和导航等组件之外,还有许多其他常用组件,它们虽然可能不如核心组件那样基础和广泛应用,但在构建功能丰富、用户体验良好的 Web 界面时却至关重要。这些组件涵盖了各种常见的 UI 元素,能够帮助开发者快速搭建美观且实用的网页。 Glyphicons 图标 下拉菜单 (Dropdowns) 按钮组 (Button Groups) 与按钮下拉菜单 (Button Dropdowns) 输入框组 (Input Groups) 导航条 (Navs) 与标签页 (Tabs) 和胶囊式导航 (Pills) 面包屑导航 (Breadcrumbs) 分页

## 3.5 其他常用组件 **3.5 Bootstrap 其他常用组件详解** 在 Bootstrap 的组件库中,除了核心的栅格系统、排版、表单、按钮和导航等组件之外,还有许多其他常用组件,它们虽然可能不如核心组件那样基础和广泛应用,但在构建功能丰富、用户体验良好的 Web 界面时却至关重要。这些组件涵盖了各种常见的 UI 元素,能够帮助开发者快速搭建美观且实用的网页。 * **Glyphicons 图标** * **下拉菜单 (Dropdowns)** * **按钮组 (Button Groups) 与按钮下拉菜单 (Button Dropdowns)** * **输入框组 (Input Groups)** * **导航条 (Navs) 与标签页 (Tabs) 和胶囊式导航 (Pills)** * **面包屑导航 (Breadcrumbs)** * **分页 (Pagination) 与 翻页 (Pager)** * **标签 (Labels) 与徽章 (Badges)** * **缩略图 (Thumbnails)** * **警告框 (Alerts)** * **进度条 (Progress Bars)** * **媒体对象 (Media Object)** * **列表组 (List Groups)** * **面板 (Panels)** * **Well** **3.5.1 Glyphicons 图标** Glyphicons Halflings 是 Bootstrap 和 3 中默认包含的图标字体集。它们以矢量的形式存在,可以无损缩放,并且可以像文本一样设置样式(颜色、大小等)。虽然 Bootstrap 4 及更高版本不再默认包含 Glyphicons,但了解它们在 Bootstrap 中的使用仍然很有价值,尤其是在维护旧项目时。 **代码实践:** ```html 搜索 设置 ``` **内容详解:** * **`glyphicon` 类:** 这是所有 Glyphicons 图标的基础类,必须添加到 `` 或 `` 标签上才能启用图标字体。 * **`glyphicon-xxx` 类:** `xxx` 部分代表具体的图标名称,例如 `glyphicon-search` 代表搜索图标,`glyphicon-cog` 代表设置图标。Bootstrap 提供了大量的图标,可以在 Bootstrap 官方文档中找到完整的图标列表。 * **使用场景:** Glyphicons 通常用于按钮、导航菜单、警告信息、列表项等位置,以提供视觉提示,增强用户界面的可读性和易用性。 **3.5.2 下拉菜单 (Dropdowns)** 下拉菜单允许用户从一个列表中选择一个选项,常用于导航、操作菜单等场景。Bootstrap 提供了易于实现的下拉菜单组件。 **代码实践:** ```html ``` **内容详解:** * **`.dropdown` 类:** 包裹整个下拉菜单的容器,用于启用下拉菜单的 JavaScript 功能。 * **`.dropdown-toggle` 类:** 应用在触发下拉菜单的元素上(通常是 `` 或 `` 标签)。 * `data-toggle="dropdown"` 属性: 关键属性,用于启用下拉菜单的 JavaScript 行为。 * `aria-haspopup="true"` 和 `aria-expanded="true"`: 用于增强可访问性,告知辅助技术这是一个下拉菜单。 * `.caret` 类: 添加小箭头指示下拉菜单。 * **`.dropdown-menu` 类:** 下拉菜单的内容列表,通常是一个 ` 左 中 右 ``` **按钮组 (垂直):** ```html
顶部 中间 底部
``` **按钮下拉菜单:** ```html
``` **内容详解:** * **`.btn-group` 类:** 用于创建水平按钮组。 * `role="group"` 和 `aria-label="..."`: 用于增强可访问性,描述按钮组的用途。 * **`.btn-group-vertical` 类:** 用于创建垂直按钮组。 * **按钮下拉菜单:** 在一个 `.btn-group` 中,将一个按钮设置为 `.dropdown-toggle` 并添加下拉菜单结构,即可创建按钮下拉菜单。 * `Toggle Dropdown`: 为屏幕阅读器提供文本描述,增强可访问性。 * **使用场景:** 工具栏按钮、操作按钮集合、选项卡式导航(结合 JavaScript)、过滤器选项等。 **Mermaid 图表示例 (按钮组):** ```mermaid graph LR A[Button Group] --> B[Button 1]; A --> C[Button 2]; A --> D[Button 3]; style A fill:#f9f,stroke:#333,stroke-width:2px ``` **3.5.4 输入框组 (Input Groups)** 输入框组允许在输入框的前面或后面添加额外的元素,例如文本、按钮或图标,增强输入框的功能性和视觉效果。 **代码实践:** **基本输入框组 (前缀文本):** ```html
@
``` **后缀按钮:** ```html
搜索
``` **组合使用 (前后缀):** ```html
$ .00
``` **内容详解:** * **`.input-group` 类:** 包裹整个输入框组的容器。 * **`.input-group-addon` 类:** 添加到输入框前面或后面的文本或图标元素,通常是 `` 标签。 * **`.input-group-btn` 类:** 添加到输入框后面的按钮元素,通常是 `` 标签包裹 ``。 * **`.form-control` 类:** 应用于输入框 `` 元素,使其与输入框组样式匹配。 * **使用场景:** 邮箱输入、货币输入、搜索框、单位显示、密码可见性切换按钮等。 **Mermaid 图表示例 (输入框组):** ```mermaid graph LR A[Input Group] --> B[Addon (Prefix)]; A --> C[Input Field]; A --> D[Addon/Button (Suffix)]; style A fill:#f9f,stroke:#333,stroke-width:2px style C fill:#eee,stroke:#333,stroke-width:2px ``` **3.5.5 导航条 (Navs) 与 标签页 (Tabs) 和 胶囊式导航 (Pills)** 导航条 (Navs) 是用于创建导航菜单的通用组件。Bootstrap 提供了多种导航条样式,包括标签页 (Tabs) 和胶囊式导航 (Pills)。 **代码实践:** **标签页 (Tabs):** ```html ``` **胶囊式导航 (Pills):** ```html ``` **垂直胶囊式导航:** ```html ``` **内容详解:** * **`.nav` 类:** 所有导航条的基础类,应用于 ` 通知 4 ``` **内容详解:** * **`.label` 类:** 所有标签的基础类。 * **`.label-default`, `.label-primary`, `.label-success`, `.label-info`, `.label-warning`, `.label-danger` 类:** 定义不同颜色和样式的标签,分别代表默认、主要、成功、信息、警告、危险等状态。 * **`.badge` 类:** 创建徽章样式。 * **使用场景:** 文章分类标签、状态标签、未读消息计数、购物车商品数量等。 **Mermaid 图表示例 (标签):** ```mermaid graph LR A[Labels/Badges] --> B[Default Label]; A --> C[Primary Label]; A --> D[Success Label]; A --> E[Warning Label]; A --> F[Badge]; style A fill:#f9f,stroke:#333,stroke-width:2px style B fill:#eee,stroke:#333,stroke-width:2px style C fill:#337ab7,stroke:#333,stroke-width:2px,color:#fff ``` **3.5.9 缩略图 (Thumbnails)** 缩略图组件用于展示图片的缩略图列表,通常用于图片库、产品展示等场景。 **代码实践:** ```html
...

缩略图标题

缩略图描述信息...

按钮 按钮

...

缩略图标题

缩略图描述信息...

按钮 按钮

...

缩略图标题

缩略图描述信息...

按钮 按钮

``` **内容详解:** * **`.thumbnail` 类:** 应用于 `
` 容器,创建缩略图效果。 * 缩略图通常包含一个 `` 标签和一个 `.caption` 容器。 * **`.caption` 类:** 缩略图的标题和描述信息容器,通常包含 `

` 标题和 `

` 段落。 * **栅格系统:** 缩略图通常与 Bootstrap 栅格系统结合使用,例如 `col-sm-6 col-md-4`,实现响应式布局。 * **使用场景:** 图片库、产品列表、博客文章列表(文章配图)等。 **Mermaid 图表示例 (缩略图):** ```mermaid graph LR A[Thumbnail Container] --> B[Image (img)]; A --> C[Caption Container (.caption)]; C --> D[Title (h3)]; C --> E[Description (p)]; C --> F[Buttons (p)]; style A fill:#f9f,stroke:#333,stroke-width:2px style B fill:#eee,stroke:#333,stroke-width:2px ``` **3.5.10 警告框 (Alerts)** 警告框用于向用户显示重要的信息,例如成功消息、错误消息、警告信息等。 **代码实践:** ```html

成功! 操作已成功完成。
提示! 这是一个提示信息。
警告! 请注意以下事项。
错误! 发生错误,请重试。
``` **可关闭的警告框:** ```html
× 警告! 这是一个可关闭的警告框。
``` **内容详解:** * **`.alert` 类:** 所有警告框的基础类。 * **`.alert-success`, `.alert-info`, `.alert-warning`, `.alert-danger` 类:** 定义不同颜色和样式的警告框,分别代表成功、信息、警告、危险等状态。 * **`role="alert"` 属性:** 用于增强可访问性,告知辅助技术这是一个警告信息。 * **`.alert-dismissible` 类:** 使警告框可关闭。 * **`.close` 按钮:** 用于关闭警告框的按钮,通常是一个带有 `×` 符号的 `` 或 `` 标签。 * `data-dismiss="alert"` 属性: 关键属性,用于启用警告框关闭的 JavaScript 行为。 * `aria-label="Close"`: 用于增强可访问性,为屏幕阅读器提供描述信息。 * **使用场景:** 表单提交成功/失败提示、操作结果反馈、系统错误提示、重要通知等。 **Mermaid 图表示例 (警告框):** ```mermaid graph LR A[Alert Box] --> B[Strong Text (e.g., "Success!")]; A --> C[Message Text]; style A fill:#f9f,stroke:#333,stroke-width:2px style B fill:#ccf,stroke:#333,stroke-width:2px ``` **3.5.11 进度条 (Progress Bars)** 进度条用于可视化地显示任务的完成进度。 **代码实践:** **基本进度条:** ```html
60% 完成
``` **带有标签的进度条:** ```html
60%
``` **不同状态的进度条:** ```html
40% 完成 (成功)
20% 完成 (警告)
60% 完成 (危险)
``` **条纹动画进度条:** ```html
45% 完成
``` **内容详解:** * **`.progress` 类:** 包裹整个进度条的容器。 * **`.progress-bar` 类:** 实际显示进度的条形元素。 * `role="progressbar"`,`aria-valuenow`, `aria-valuemin`, `aria-valuemax` 属性: 用于增强可访问性,描述进度条的状态和范围。 * `style="width: XX%;"`: 通过内联样式设置进度条的宽度,表示完成百分比。 * `XX% 完成`: 为屏幕阅读器提供文本描述,增强可访问性。 * **`.progress-bar-success`, `.progress-bar-warning`, `.progress-bar-danger` 类:** 定义不同颜色和状态的进度条。 * **`.progress-bar-striped` 类:** 创建条纹样式的进度条。 * **`.active` 类 (与 `.progress-bar-striped` 结合使用):** 为条纹进度条添加动画效果。 * **使用场景:** 文件上传进度、任务加载进度、操作执行进度等。 **Mermaid 图表示例 (进度条):** ```mermaid graph LR A[Progress Bar Container] --> B[Progress Bar (.progress-bar)]; B --> C[Progress Percentage (Width Style)]; style A fill:#f9f,stroke:#333,stroke-width:2px style B fill:#ccf,stroke:#333,stroke-width:2px ``` **3.5.12 媒体对象 (Media Object)** 媒体对象组件用于结构化展示媒体内容(例如图片、视频)及其相关的文本描述,常用于评论列表、文章列表等场景。 **代码实践:** ```html

媒体标题

媒体内容描述...

嵌套媒体标题

嵌套媒体内容描述...

``` **内容详解:** * **`.media` 类:** 应用于容器,创建媒体对象结构。 * **`.media-left` 类:** 媒体对象的左侧部分,通常用于放置媒体元素(例如 `` 或 ``)。 * **`.media-body` 类:** 媒体对象的右侧部分,用于放置文本内容(例如标题和描述)。 * **`.media-object` 类:** 应用于媒体元素(例如 ``),使其与媒体对象样式匹配。 * **`


发布者: 作者: 转发
评论区 (0)
U