Bootstrap 工具类
FrameworkCSS UtilitiesBootstrap 提供大量 工具类(Utility Classes),用于在 HTML 中快速微调样式,无需编写额外的 CSS。工具类遵循统一的命名规则,简洁且直观。
一、📐 间距(Spacing)
1.1 命名规则
{属性}{方向}-{断点}-{大小}| 部分 | 说明 | 可选值 |
|---|---|---|
| 属性 | margin 或 padding | m(margin)/ p(padding) |
| 方向 | 应用的方向 | t b s e x y 或留空 |
| 断点 | 响应式断点(可选) | sm md lg xl xxl |
| 大小 | 间距尺寸 | 0 ~ 5 或 auto |
1.2 方向详解
| 方向 | 含义 | CSS 属性 |
|---|---|---|
t | top | margin-top / padding-top |
b | bottom | margin-bottom / padding-bottom |
s | start(LTR 中为 left) | margin-left / padding-left |
e | end(LTR 中为 right) | margin-right / padding-right |
x | 水平(left + right) | 两侧 |
y | 垂直(top + bottom) | 上下 |
| 留空 | 四边 | 全部 |
1.3 大小对照
| 类后缀 | 值 | 等价 |
|---|---|---|
0 | 0 | 0 |
1 | 0.25rem | 4px |
2 | 0.5rem | 8px |
3 | 1rem | 16px |
4 | 1.5rem | 24px |
5 | 3rem | 48px |
auto | auto | 仅 margin 可用 |
1.4 示例
html
<!-- 上边距 3(1rem) -->
<div class="mt-3">...</div>
<!-- 水平内边距 4(1.5rem) -->
<div class="px-4">...</div>
<!-- 下边距 5(3rem) -->
<div class="mb-5">...</div>
<!-- 四边为 0 -->
<div class="m-0 p-0">...</div>
<!-- 水平居中(需要固定宽度) -->
<div class="mx-auto" style="width: 200px;">居中</div>
<!-- 响应式:仅在 md 及以上应用 -->
<div class="mt-md-5 mt-2">...</div>1.5 负 Margin
html
<!-- 负上边距 -->
<div class="mt-n3">向上拉 1rem</div>二、📺 显示(Display)
2.1 基本显示
html
<div class="d-block">块级元素</div>
<span class="d-inline">行内元素</span>
<div class="d-inline-block">行内块</div>
<div class="d-flex">Flex 容器</div>
<div class="d-grid">Grid 容器</div>
<div class="d-none">隐藏</div>2.2 响应式显示/隐藏
html
<!-- 手机隐藏,平板及以上显示 -->
<div class="d-none d-md-block">仅平板+</div>
<!-- 仅在手机上显示 -->
<div class="d-block d-md-none">仅手机</div>
<!-- 手机隐藏,桌面显示为 flex -->
<div class="d-none d-lg-flex">桌面 Flex</div>| 类 | 效果 |
|---|---|
d-none | 隐藏(所有尺寸) |
d-sm-none | ≥576px 时隐藏 |
d-md-block | ≥768px 时显示为 block |
d-lg-flex | ≥992px 时显示为 flex |
2.3 打印显示
html
<div class="d-print-none">打印时隐藏</div>
<div class="d-none d-print-block">仅打印时显示</div>三、📐 Flex 工具类
Bootstrap 提供完整的 Flex 工具类,无需写 CSS:
3.1 方向
html
<div class="d-flex flex-row">水平(默认)</div>
<div class="d-flex flex-column">垂直</div>
<div class="d-flex flex-row-reverse">反向水平</div>3.2 对齐
html
<!-- 主轴对齐 -->
<div class="d-flex justify-content-center">居中</div>
<div class="d-flex justify-content-between">两端对齐</div>
<div class="d-flex justify-content-around">分散对齐</div>
<div class="d-flex justify-content-evenly">均匀分布</div>
<!-- 交叉轴对齐 -->
<div class="d-flex align-items-center" style="height: 200px;">垂直居中</div>
<div class="d-flex align-items-start">顶部对齐</div>
<div class="d-flex align-items-end">底部对齐</div>
<div class="d-flex align-items-stretch">拉伸填满</div>3.3 单项对齐
html
<div class="d-flex">
<div class="align-self-start">顶部</div>
<div class="align-self-center">居中</div>
<div class="align-self-end">底部</div>
</div>3.4 换行
html
<div class="d-flex flex-wrap">允许换行</div>
<div class="d-flex flex-nowrap">不换行</div>3.5 间距与增长
html
<div class="d-flex gap-3">项目间距 1rem</div>
<div class="d-flex">
<div class="flex-grow-1">占据剩余空间</div>
<div class="flex-shrink-0">不收缩</div>
</div>3.6 垂直 + 水平居中(最常用模式)
html
<div class="d-flex justify-content-center align-items-center" style="height: 100vh;">
<div>完美居中的内容</div>
</div>四、🔤 文本(Typography)
4.1 对齐
html
<p class="text-start">左对齐</p>
<p class="text-center">居中</p>
<p class="text-end">右对齐</p>
<!-- 响应式对齐 -->
<p class="text-center text-lg-start">手机居中,桌面左对齐</p>4.2 字重与样式
html
<p class="fw-bold">粗体</p>
<p class="fw-semibold">半粗</p>
<p class="fw-normal">常规</p>
<p class="fw-light">细体</p>
<p class="fst-italic">斜体</p>
<p class="fst-normal">正常(取消斜体)</p>4.3 字号
html
<p class="fs-1">fs-1(2.5rem)</p>
<p class="fs-2">fs-2(2rem)</p>
<p class="fs-3">fs-3(1.75rem)</p>
<p class="fs-4">fs-4(1.5rem)</p>
<p class="fs-5">fs-5(1.25rem)</p>
<p class="fs-6">fs-6(1rem)</p>4.4 行高与装饰
html
<p class="lh-1">行高 1</p>
<p class="lh-sm">小行高</p>
<p class="lh-base">默认行高</p>
<p class="lh-lg">大行高</p>
<p class="text-decoration-underline">下划线</p>
<p class="text-decoration-line-through">删除线</p>
<a class="text-decoration-none" href="#">无下划线链接</a>4.5 文本换行与截断
html
<p class="text-wrap">允许换行(默认)</p>
<p class="text-nowrap">不换行</p>
<p class="text-truncate" style="width: 200px;">
超长文本会被截断并显示省略号...
</p>4.6 大小写
html
<p class="text-lowercase">ALL LOWERCASE</p>
<p class="text-uppercase">uppercase text</p>
<p class="text-capitalize">capitalize text</p>五、🎨 颜色(Colors)
5.1 文字颜色
html
<p class="text-primary">蓝色</p>
<p class="text-success">绿色</p>
<p class="text-danger">红色</p>
<p class="text-warning">黄色</p>
<p class="text-info">浅蓝</p>
<p class="text-muted">灰色(弱化)</p>
<p class="text-body">默认文字色</p>
<p class="text-body-secondary">次要文字色</p>
<p class="text-white bg-dark">白色文字</p>5.2 背景颜色
html
<div class="bg-primary text-white">蓝色背景</div>
<div class="bg-success text-white">绿色背景</div>
<div class="bg-danger text-white">红色背景</div>
<div class="bg-warning text-dark">黄色背景</div>
<div class="bg-light text-dark">浅色背景</div>
<div class="bg-dark text-white">深色背景</div>
<div class="bg-transparent">透明背景</div>5.3 透明度
html
<div class="bg-primary bg-opacity-75">75% 不透明</div>
<div class="bg-primary bg-opacity-50">50% 不透明</div>
<div class="bg-primary bg-opacity-25">25% 不透明</div>
<div class="bg-primary bg-opacity-10">10% 不透明</div>六、🔲 边框与圆角
6.1 边框
html
<!-- 添加边框 -->
<div class="border">四边边框</div>
<div class="border-top">仅上边框</div>
<div class="border-bottom">仅下边框</div>
<!-- 边框颜色 -->
<div class="border border-primary">蓝色边框</div>
<div class="border border-danger">红色边框</div>
<!-- 边框宽度 -->
<div class="border border-2">2px 边框</div>
<div class="border border-5">5px 边框</div>
<!-- 移除边框 -->
<div class="border-0">无边框</div>6.2 圆角
html
<div class="rounded">默认圆角</div>
<div class="rounded-0">无圆角</div>
<div class="rounded-1">小圆角</div>
<div class="rounded-3">大圆角</div>
<div class="rounded-circle">圆形(需等宽高)</div>
<div class="rounded-pill">药丸形</div>
<div class="rounded-top">仅上方圆角</div>七、🌫️ 阴影(Shadows)
html
<div class="shadow-none">无阴影</div>
<div class="shadow-sm">小阴影</div>
<div class="shadow">默认阴影</div>
<div class="shadow-lg">大阴影</div>八、📏 尺寸(Sizing)
html
<!-- 宽度 -->
<div class="w-25">宽 25%</div>
<div class="w-50">宽 50%</div>
<div class="w-75">宽 75%</div>
<div class="w-100">宽 100%</div>
<div class="w-auto">自动宽度</div>
<!-- 高度 -->
<div class="h-50">高 50%</div>
<div class="h-100">高 100%</div>
<!-- 视口尺寸 -->
<div class="vw-100">视口宽度 100%</div>
<div class="vh-100">视口高度 100%</div>
<div class="min-vh-100">最小视口高度 100%</div>九、📍 定位(Position)
html
<div class="position-static">静态</div>
<div class="position-relative">相对</div>
<div class="position-absolute">绝对</div>
<div class="position-fixed">固定</div>
<div class="position-sticky">粘性</div>
<!-- 位移 -->
<div class="position-absolute top-0 start-0">左上角</div>
<div class="position-absolute top-0 end-0">右上角</div>
<div class="position-absolute bottom-0 start-0">左下角</div>
<div class="position-absolute top-50 start-50 translate-middle">正中心</div>十、📊 Z-index 层级系统
Bootstrap 为常见 UI 组件预定义了 z-index 值:
| 组件 | z-index | 说明 |
|---|---|---|
| Dropdown | 1000 | 下拉菜单 |
| Sticky | 1020 | 粘性元素 |
| Fixed | 1030 | 固定元素(导航栏) |
| Offcanvas Backdrop | 1040 | 侧滑面板背景 |
| Offcanvas | 1045 | 侧滑面板 |
| Modal Backdrop | 1050 | 模态框背景遮罩 |
| Modal | 1055 | 模态框 |
| Popover | 1070 | 弹出框 |
| Tooltip | 1080 | 工具提示 |
| Toast | 1090 | 消息提示 |
使用内置值
自定义元素的 z-index 时,参照上表避免与 Bootstrap 组件冲突。
十一、🔧 其他实用工具类
11.1 溢出
html
<div class="overflow-auto">自动滚动条</div>
<div class="overflow-hidden">隐藏溢出</div>
<div class="overflow-visible">显示溢出</div>
<div class="overflow-scroll">始终显示滚动条</div>11.2 可见性
html
<div class="visible">可见(占用空间)</div>
<div class="invisible">不可见(仍占用空间)</div>
<!-- vs d-none:不可见且不占用空间 -->11.3 交互
html
<p class="user-select-all">点击全选文字</p>
<p class="user-select-none">不可选文字</p>
<a class="pe-none">不可点击的链接</a>
<a class="pe-auto">可点击的链接</a>