Bootstrap V5.3中文翻译版:内容样式
Bootstrap 5.3 Content内容部分预览介绍
Bootstrap 作为最流行的前端框架之一,其内容排版和基础样式设计是构建响应式网页的基石。Bootstrap 5.3 在内容部分(Content)提供了一系列精心设计的样式和工具类,用于优雅地呈现文本、图像、表格等核心内容。本篇将介绍 Reboot、Typography、Images、Tables 和 Figures 这几个主要模块的特性与用法。
Reboot 是 Bootstrap 的基础样式重置(reset)部分,它建立在 Normalize.css 之上,旨在提供一套一致且固执己见的基准样式,作为所有元素的出发点。
rem 替代 em:Reboot 更新了部分浏览器的默认值,在可伸缩的组件间距上使用 rem 而不是 em,这使得组件的间隔缩放更加一致和可控。margin-top:为了防止垂直边距折叠(margin collapse)导致意想不到的结果,Reboot 避开了 margin-top,采用单向的 margin-bottom 来设置元素间距,这简化了布局的心理模型。box-sizing:Reboot 将每个元素的 box-sizing(包括 *::before 和 *::after)全局设置为 border-box。这意味着元素的声明宽度包含了其内边距(padding)和边框(border),避免了因添加 padding 或 border 而导致元素超出声明宽度的情况,简化了尺寸计算。:root 级别的 CSS 变量(Custom Properties)。这允许开发者更灵活地进行实时定制,而无需总是重新编译 Sass。例如:css :root { --bs-body-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --bs-body-color: #212529; --bs-body-bg: #fff; /* ...更多变量 */ }<body style="--bs-body-color: #333;">。Reboot 更新了 <html> 和 <body> 元素以提供更好的页面级默认值:
<html> 上未声明基准 font-size,但假定为 16px(浏览器默认值)。font-size: 1rem 应用在 <body> 上,便于进行响应式缩放。<body> 设置了全局的 font-family、font-weight、line-height、color 和 background-color(默认为 #fff)。这确保了后续元素能正确继承,防止字体不一致。Bootstrap 采用 “原生字体栈”或“系统字体栈” 来在不同设备和操作系统上实现最佳文本渲染效果。这些字体针对现代设备设计,具有更好的屏幕渲染和可变字体支持。其 $font-family-sans-serif 包含了跨平台的通用字体族、各平台特定字体(如 macOS 的 San Francisco、Windows 的 Segoe UI)、基本网页回退字体以及表情符号字体。
Bootstrap 提供了一套清晰、灵活的文本排版工具,用于设置标题、段落、列表及其他内联元素的样式。
font-size 为 1rem(通常在浏览器中为 16px),line-height 为 1.5。<p> 元素的上外边距(margin-top)被设置为 0,下外边距(margin-bottom)为 1rem(默认为 16px),以形成简单的间距。<h1> 到 <h6>)的 margin-top 被移除,设置了 margin-bottom: .5rem 和更粗的 font-weight,并具有响应式的 font-size。除了使用标准的标题标签,Bootstrap 还提供了 .h1 到 .h6 类,使其他元素(如 <p> 或 <div>)也能呈现为标题样式。
<p class="h1">这是一个看起来像 h1 的段落</p>对于需要更突出显示(更大、更细)的内容,Bootstrap 提供了 Display 标题类(.display-1 到 .display-6)。
<h1 class="display-1">Display 1</h1>Bootstrap 为多种内联文本元素定义了样式:
<small>:在任意标题内创建较小的辅助文本。<mark> 和 .mark:具有黄色背景颜色和一些内边距,用于高亮文本。<abbr>:为缩写或首字母缩略词提供底部虚线边框,光标悬停时显示问号图标(若提供了 title 属性)。<blockquote>:引用其他来源的内容块时使用。添加 .blockquote 类到 <blockquote>,并使用 .blockquote-footer 类注明来源。<ul>, <ol>, <dl>)的 margin-top 被移除,并设置了 margin-bottom: 1rem。嵌套列表没有 margin-bottom。<ul> 和 <ol> 的 padding-left 也被重置。<code>:用于内联代码片段,会用特定样式(如红色字体)标注。<kbd>:用于表示用户输入,通常呈现为黑底白字。<pre>:用于多行代码块,具有特定的边距和字体样式。Bootstrap 提供了丰富的文本工具类,用于快速调整文本对齐、大小写、字体粗细等:
| 功能 | 工具类示例 |
|---|---|
| 对齐 | .text-start, .text-center, .text-end, .text-justify |
| 大小写 | .text-lowercase, .text-uppercase, .text-capitalize |
| 字重 | .fw-light, .fw-normal, .fw-bold, .fw-bolder |
| 其他 | .fs-* (字体大小), .text-muted, .lead (使段落更突出) |
Bootstrap 提供了一系列工具类,用于轻松控制图像的响应式行为和添加常见样式。
通过为 <img> 元素添加 .img-fluid 类,可以使图像随其父元素自动缩放。其原理是设置 max-width: 100% 和 height: auto。
<img src="path/to/image.jpg" class="img-fluid" alt="描述性文本">使用 .img-thumbnail 类可以为图像添加一个 1px 宽度的边框,使其呈现为相片缩略图的效果。这个样式同样是响应式的。
<img src="path/to/image.jpg" class="img-thumbnail" alt="描述性文本">通过以下类可以为图像快速添加圆角或将其变为圆形:
.rounded:为图像添加圆角。.rounded-circle:将图像变为圆形(通常用于头像)。.rounded-top, .rounded-end, .rounded-bottom``, **.rounded-start`:仅对特定边添加圆角。.rounded-pill:添加药丸形状的圆角。<img src="path/to/image.jpg" class="rounded" alt="圆角图像">
<img src="path/to/avatar.jpg" class="rounded-circle" alt="圆形头像">使用 浮动类 或 Flexbox 工具类 可以控制图像的水平对齐:
.float-start:图像左浮动。.float-end:图像右浮动。.mx-auto + .d-block:使图像在其父元素中水平居中。<img src="path/to/image.jpg" class="float-end" alt="右对齐图像">
<img src="path/to/image.jpg" class="mx-auto d-block" alt="居中图像">当需要根据屏幕条件(如视口宽度、像素密度、文件格式支持)提供不同图像时,可以使用 HTML5 的 <picture> 元素。Bootstrap 建议将 .img-* 类(如 .img-fluid)直接应用于 <picture> 内部的 <img> 标签,而不是 <picture> 标签本身。
<picture>
<source srcset="large-image.jpg" media="(min-width: 1200px)">
<source srcset="medium-image.jpg" media="(min-width: 768px)">
<img src="small-image.jpg" class="img-fluid" alt="响应式图片示例">
</picture>Bootstrap 5 为表格提供了丰富而灵活的样式选项。由于 <table> 元素也可能被第三方小部件使用,因此 Bootstrap 的表格样式是可选的,需要添加基类 .table 才能生效。所有表格样式都不会继承,因此嵌套表格可以独立设置样式。
为核心表格添加基本样式:
<table class="table">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">名</th>
<th scope="col">姓</th>
<th scope="col">用户名</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
</tbody>
</table>Bootstrap 提供了多种上下文类,用于为整个表格、单行或单个单元格着色,从而传达不同的含义或视觉强调。
| 类名 | 描述 |
|---|---|
.table-primary | 深蓝(主) |
.table-secondary | 灰色(次) |
.table-success | 绿色(成功) |
.table-danger | 红色(危险) |
.table-warning | 黄色(警告) |
.table-info | 浅蓝(信息) |
.table-light | 浅灰 |
.table-dark | 深灰 |
这些类可以应用于 <table>, <tr>, <td> 或 <th> 元素上。
<tr class="table-success">...</tr>
<td class="table-warning">...</td>无障碍提示:使用颜色添加含义仅提供视觉指示,不会自动传达给使用辅助技术的用户。请确保内容本身的含义是显而易见的(例如,使用足够颜色对比的文本),或通过其他方式(如使用
.visually-hidden类隐藏的附加文本)来传达。
Bootstrap 提供了多种修饰类来增强表格的视觉效果和交互性:
| 修饰类 | 描述 |
|---|---|
.table-striped | 在 <tbody> 内的行上添加斑马条纹(交替的背景色)。 |
.table-striped-columns | 为表格的列添加斑马条纹(交替的列背景色)。 |
.table-hover | 在 <tbody> 内的行上启用悬停效果(鼠标悬停时高亮)。 |
.table-active | 通过 .table-active 类为表格行或单元格添加激活状态的高亮。 |
.table-bordered | 为所有表格单元格添加边框。 |
.table-borderless | 移除所有边框。 |
.table-sm | 通过减少内边距来创建更紧凑的表格。 |
这些修饰类可以与表格变体类结合使用:
<table class="table table-dark table-striped table-hover">...</table>
<table class="table table-success table-striped-columns">...</table>Bootstrap 的 Figure 组件是一个用于展示相关联的图片和文本内容的语义化容器,特别适用于带标题的图片、图表或插图等场景。
使用 <figure> 元素并添加 .figure 类。内部使用:
.figure-img:用于 <img> 标签,确保图片与标题样式协调。.figure-caption:用于 <figcaption> 标签,为图片添加标题。<figure class="figure">
<img src="path/to/image.jpg" class="figure-img img-fluid rounded" alt="描述性文本">
<figcaption class="figure-caption">这是一张图片的标题说明。</figcaption>
</figure>注意:为确保图像是响应式的,务必在
<img>标签上添加.img-fluid类。
使用 Bootstrap 的文本工具类(如 .text-center 或 .text-end)可以轻松调整标题的对齐方式。
<figcaption class="figure-caption text-center">一个居中对齐的标题。</figcaption>
<figcaption class="figure-caption text-end">一个右对齐的标题。</figcaption>Bootstrap 5.3 的内容部分提供了一套强大、灵活且易于使用的工具,用于构建现代、清晰且响应式的网页内容。
通过理解和灵活运用这些样式和组件,并结合 Bootstrap 强大的工具类(Utility API),您可以快速构建出既专业又美观的用户界面,同时保持代码的简洁和维护性。
声明:此栏目页面的正文内容并非源自Bootstrap v5.3官方网站,而是通过Deepseek总结及人工编辑。关于Bootstrap v5.3官方网站内容的翻译请查看详情页面。