bootstrap-utilities

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Bootstrap 5.3 Utilities

Bootstrap 5.3 工具类

Bootstrap provides extensive utility classes for rapid styling without custom CSS. These are generated via the Utilities API and can be customized.
Bootstrap 提供了丰富的工具类,无需自定义 CSS 即可快速完成样式设置。这些工具类通过 Utilities API 生成,并且可以自定义。

Spacing Utilities

间距工具类

Margin (m-) and Padding (p-)

外边距(m-)和内边距(p-)

html
<!-- All sides -->
<div class="m-3">Margin 1rem all sides</div>
<div class="p-3">Padding 1rem all sides</div>

<!-- Specific sides -->
<div class="mt-3">Margin top</div>
<div class="mb-3">Margin bottom</div>
<div class="ms-3">Margin start (left in LTR)</div>
<div class="me-3">Margin end (right in LTR)</div>
<div class="mx-3">Margin horizontal (left + right)</div>
<div class="my-3">Margin vertical (top + bottom)</div>

<!-- Same pattern for padding: pt-, pb-, ps-, pe-, px-, py- -->
<div class="px-3 py-2">Horizontal padding 1rem, vertical 0.5rem</div>
html
<!-- 所有方向 -->
<div class="m-3">所有方向外边距 1rem</div>
<div class="p-3">所有方向内边距 1rem</div>

<!-- 指定方向 -->
<div class="mt-3">顶部外边距</div>
<div class="mb-3">底部外边距</div>
<div class="ms-3">起始方向外边距(LTR 布局中为左侧)</div>
<div class="me-3">结束方向外边距(LTR 布局中为右侧)</div>
<div class="mx-3">水平方向外边距(左 + 右)</div>
<div class="my-3">垂直方向外边距(上 + 下)</div>

<!-- 内边距遵循相同规则:pt-, pb-, ps-, pe-, px-, py- -->
<div class="px-3 py-2">水平内边距 1rem,垂直内边距 0.5rem</div>

Spacing Scale

间距比例

ClassSize
{m|p}-0
0
{m|p}-1
0.25rem (4px)
{m|p}-2
0.5rem (8px)
{m|p}-3
1rem (16px)
{m|p}-4
1.5rem (24px)
{m|p}-5
3rem (48px)
{m|p}-auto
auto (margin only)
类名尺寸
{m|p}-0
0
{m|p}-1
0.25rem(4px)
{m|p}-2
0.5rem(8px)
{m|p}-3
1rem(16px)
{m|p}-4
1.5rem(24px)
{m|p}-5
3rem(48px)
{m|p}-auto
自动(仅适用于外边距)

Responsive Spacing

响应式间距

html
<div class="mt-0 mt-md-3 mt-lg-5">
  No margin, 1rem on md, 3rem on lg+
</div>
html
<div class="mt-0 mt-md-3 mt-lg-5">
  默认无外边距,md 尺寸以上为 1rem,lg 尺寸以上为 3rem
</div>

Gap Utilities (Flexbox/Grid)

间隙工具类(弹性盒/网格)

html
<div class="d-flex gap-3">
  <div>Item 1</div>
  <div>Item 2</div>
</div>

<div class="d-grid gap-2">
  <button class="btn btn-primary">Button 1</button>
  <button class="btn btn-primary">Button 2</button>
</div>

<!-- Row and column gaps -->
<div class="d-grid gap-0 row-gap-3 column-gap-3">...</div>
html
<div class="d-flex gap-3">
  <div>项目 1</div>
  <div>项目 2</div>
</div>

<div class="d-grid gap-2">
  <button class="btn btn-primary">按钮 1</button>
  <button class="btn btn-primary">按钮 2</button>
</div>

<!-- 行和列间隙 -->
<div class="d-grid gap-0 row-gap-3 column-gap-3">...</div>

Display Utilities

显示工具类

html
<div class="d-none">Hidden</div>
<div class="d-inline">Inline</div>
<div class="d-inline-block">Inline-block</div>
<div class="d-block">Block</div>
<div class="d-flex">Flexbox</div>
<div class="d-inline-flex">Inline flex</div>
<div class="d-grid">Grid</div>
<div class="d-table">Table</div>
<div class="d-table-row">Table row</div>
<div class="d-table-cell">Table cell</div>

<!-- Responsive display -->
<div class="d-none d-md-block">Hidden on xs/sm, block on md+</div>
<div class="d-block d-lg-none">Visible until lg</div>

<!-- Print display -->
<div class="d-print-none">Hidden in print</div>
<div class="d-none d-print-block">Only visible in print</div>
html
<div class="d-none">隐藏</div>
<div class="d-inline">行内元素</div>
<div class="d-inline-block">行内块元素</div>
<div class="d-block">块级元素</div>
<div class="d-flex">弹性盒</div>
<div class="d-inline-flex">行内弹性盒</div>
<div class="d-grid">网格</div>
<div class="d-table">表格</div>
<div class="d-table-row">表格行</div>
<div class="d-table-cell">表格单元格</div>

<!-- 响应式显示 -->
<div class="d-none d-md-block">xs/sm 尺寸隐藏,md 尺寸以上为块级元素</div>
<div class="d-block d-lg-none">lg 尺寸之前可见</div>

<!-- 打印显示 -->
<div class="d-print-none">打印时隐藏</div>
<div class="d-none d-print-block">仅打印时可见</div>

Text Utilities

文本工具类

Alignment

对齐方式

html
<p class="text-start">Left aligned (start)</p>
<p class="text-center">Center aligned</p>
<p class="text-end">Right aligned (end)</p>

<!-- Responsive alignment -->
<p class="text-start text-md-center text-lg-end">
  Left on xs/sm, center on md, right on lg+
</p>
html
<p class="text-start">左对齐(起始方向)</p>
<p class="text-center">居中对齐</p>
<p class="text-end">右对齐(结束方向)</p>

<!-- 响应式对齐 -->
<p class="text-start text-md-center text-lg-end">
  xs/sm 尺寸左对齐,md 尺寸居中,lg 尺寸以上右对齐
</p>

Transform

文本转换

html
<p class="text-lowercase">lowercased text</p>
<p class="text-uppercase">UPPERCASED TEXT</p>
<p class="text-capitalize">Capitalized Text</p>
html
<p class="text-lowercase">小写文本</p>
<p class="text-uppercase">大写文本</p>
<p class="text-capitalize">首字母大写文本</p>

Decoration

文本装饰

html
<a href="#" class="text-decoration-none">No underline</a>
<p class="text-decoration-underline">Underlined text</p>
<p class="text-decoration-line-through">Strikethrough text</p>
html
<a href="#" class="text-decoration-none">无下划线</a>
<p class="text-decoration-underline">下划线文本</p>
<p class="text-decoration-line-through">删除线文本</p>

Wrapping and Overflow

文本换行与溢出

html
<div class="text-wrap">Text that wraps normally</div>
<div class="text-nowrap">Text that won't wrap</div>
<p class="text-break">Longwordthatwillbreaktopreventoverflow</p>
<p class="text-truncate" style="max-width: 150px;">
  This text is truncated with ellipsis...
</p>
html
<div class="text-wrap">正常换行文本</div>
<div class="text-nowrap">不换行文本</div>
<p class="text-break">Longwordthatwillbreaktopreventoverflow</p>
<p class="text-truncate" style="max-width: 150px;">
  此文本将被截断并显示省略号...
</p>

Font Weight and Style

字体粗细与样式

html
<p class="fw-bold">Bold text</p>
<p class="fw-bolder">Bolder text (relative)</p>
<p class="fw-semibold">Semibold text</p>
<p class="fw-medium">Medium text</p>
<p class="fw-normal">Normal weight</p>
<p class="fw-light">Light text</p>
<p class="fw-lighter">Lighter text (relative)</p>
<p class="fst-italic">Italic text</p>
<p class="fst-normal">Normal style</p>
html
<p class="fw-bold">粗体文本</p>
<p class="fw-bolder">更粗文本(相对父元素)</p>
<p class="fw-semibold">半粗体文本</p>
<p class="fw-medium">中等粗细文本</p>
<p class="fw-normal">正常粗细</p>
<p class="fw-light">轻量文本</p>
<p class="fw-lighter">更轻文本(相对父元素)</p>
<p class="fst-italic">斜体文本</p>
<p class="fst-normal">正常样式</p>

Line Height

行高

html
<p class="lh-1">Line height 1</p>
<p class="lh-sm">Small line height</p>
<p class="lh-base">Base line height</p>
<p class="lh-lg">Large line height</p>
html
<p class="lh-1">行高 1</p>
<p class="lh-sm">小行高</p>
<p class="lh-base">基础行高</p>
<p class="lh-lg">大行高</p>

Flexbox Utilities

弹性盒工具类

Direction

排列方向

html
<div class="d-flex flex-row">Horizontal</div>
<div class="d-flex flex-row-reverse">Horizontal reversed</div>
<div class="d-flex flex-column">Vertical</div>
<div class="d-flex flex-column-reverse">Vertical reversed</div>
html
<div class="d-flex flex-row">水平排列</div>
<div class="d-flex flex-row-reverse">水平反向排列</div>
<div class="d-flex flex-column">垂直排列</div>
<div class="d-flex flex-column-reverse">垂直反向排列</div>

Justify Content

主轴对齐

html
<div class="d-flex justify-content-start">Start</div>
<div class="d-flex justify-content-end">End</div>
<div class="d-flex justify-content-center">Center</div>
<div class="d-flex justify-content-between">Space between</div>
<div class="d-flex justify-content-around">Space around</div>
<div class="d-flex justify-content-evenly">Space evenly</div>
html
<div class="d-flex justify-content-start">起始端对齐</div>
<div class="d-flex justify-content-end">结束端对齐</div>
<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>

Align Items

交叉轴对齐

html
<div class="d-flex align-items-start">Top</div>
<div class="d-flex align-items-end">Bottom</div>
<div class="d-flex align-items-center">Center</div>
<div class="d-flex align-items-baseline">Baseline</div>
<div class="d-flex align-items-stretch">Stretch</div>
html
<div class="d-flex align-items-start">顶部对齐</div>
<div class="d-flex align-items-end">底部对齐</div>
<div class="d-flex align-items-center">居中对齐</div>
<div class="d-flex align-items-baseline">基线对齐</div>
<div class="d-flex align-items-stretch">拉伸填充</div>

Align Self

自身对齐

html
<div class="align-self-start">Top</div>
<div class="align-self-center">Center</div>
<div class="align-self-end">Bottom</div>
html
<div class="align-self-start">顶部对齐</div>
<div class="align-self-center">居中对齐</div>
<div class="align-self-end">底部对齐</div>

Flex Wrap

换行设置

html
<div class="d-flex flex-wrap">Wrap</div>
<div class="d-flex flex-nowrap">No wrap</div>
<div class="d-flex flex-wrap-reverse">Wrap reverse</div>
html
<div class="d-flex flex-wrap">自动换行</div>
<div class="d-flex flex-nowrap">不换行</div>
<div class="d-flex flex-wrap-reverse">反向换行</div>

Flex Grow/Shrink

伸缩比例

html
<div class="flex-grow-0">Don't grow</div>
<div class="flex-grow-1">Grow to fill</div>
<div class="flex-shrink-0">Don't shrink</div>
<div class="flex-shrink-1">Can shrink</div>
<div class="flex-fill">Fill available space</div>
html
<div class="flex-grow-0">不拉伸</div>
<div class="flex-grow-1">拉伸填充剩余空间</div>
<div class="flex-shrink-0">不收缩</div>
<div class="flex-shrink-1">允许收缩</div>
<div class="flex-fill">填充可用空间</div>

Order

排列顺序

html
<div class="order-0">First</div>
<div class="order-1">Second</div>
<div class="order-2">Third</div>
<div class="order-first">Very first (-1)</div>
<div class="order-last">Very last (6)</div>
html
<div class="order-0">第一个</div>
<div class="order-1">第二个</div>
<div class="order-2">第三个</div>
<div class="order-first">最前(-1)</div>
<div class="order-last">最后(6)</div>

Background Utilities

背景工具类

html
<div class="bg-primary">Primary</div>
<div class="bg-secondary">Secondary</div>
<div class="bg-success">Success</div>
<div class="bg-danger">Danger</div>
<div class="bg-warning">Warning</div>
<div class="bg-info">Info</div>
<div class="bg-light">Light</div>
<div class="bg-dark">Dark</div>
<div class="bg-body">Body</div>
<div class="bg-body-secondary">Body secondary</div>
<div class="bg-body-tertiary">Body tertiary</div>
<div class="bg-white">White</div>
<div class="bg-black">Black</div>
<div class="bg-transparent">Transparent</div>

<!-- Opacity -->
<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>

<!-- Gradient -->
<div class="bg-primary bg-gradient">Gradient</div>
html
<div class="bg-primary">主色调背景</div>
<div class="bg-secondary">次要色调背景</div>
<div class="bg-success">成功色调背景</div>
<div class="bg-danger">危险色调背景</div>
<div class="bg-warning">警告色调背景</div>
<div class="bg-info">信息色调背景</div>
<div class="bg-light">浅色背景</div>
<div class="bg-dark">深色背景</div>
<div class="bg-body">主体背景</div>
<div class="bg-body-secondary">次要主体背景</div>
<div class="bg-body-tertiary">三级主体背景</div>
<div class="bg-white">白色背景</div>
<div class="bg-black">黑色背景</div>
<div class="bg-transparent">透明背景</div>

<!-- 透明度 -->
<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>

<!-- 渐变背景 -->
<div class="bg-primary bg-gradient">渐变背景</div>

Text Color Utilities

文本颜色工具类

html
<p class="text-primary">Primary text</p>
<p class="text-secondary">Secondary text</p>
<p class="text-success">Success text</p>
<p class="text-danger">Danger text</p>
<p class="text-warning">Warning text</p>
<p class="text-info">Info text</p>
<p class="text-muted">Muted text</p>
<p class="text-body">Body text</p>
<p class="text-body-secondary">Body secondary</p>
<p class="text-body-tertiary">Body tertiary</p>
<p class="text-body-emphasis">Body emphasis</p>
<p class="text-black">Black text</p>
<p class="text-white bg-dark">White text</p>

<!-- Opacity -->
<p class="text-primary text-opacity-75">75% opacity</p>
<p class="text-primary text-opacity-50">50% opacity</p>
<p class="text-primary text-opacity-25">25% opacity</p>
html
<p class="text-primary">主色调文本</p>
<p class="text-secondary">次要色调文本</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-body-tertiary">三级主体文本</p>
<p class="text-body-emphasis">强调主体文本</p>
<p class="text-black">黑色文本</p>
<p class="text-white bg-dark">白色文本(深色背景)</p>

<!-- 透明度 -->
<p class="text-primary text-opacity-75">75% 透明度</p>
<p class="text-primary text-opacity-50">50% 透明度</p>
<p class="text-primary text-opacity-25">25% 透明度</p>

Border Utilities

边框工具类

html
<!-- Add borders -->
<div class="border">All sides</div>
<div class="border-top">Top</div>
<div class="border-end">End</div>
<div class="border-bottom">Bottom</div>
<div class="border-start">Start</div>

<!-- Remove borders -->
<div class="border-0">No border</div>
<div class="border-top-0">No top border</div>

<!-- Border color -->
<div class="border border-primary">Primary</div>
<div class="border border-success">Success</div>
<div class="border border-danger">Danger</div>

<!-- Border width -->
<div class="border border-1">1px</div>
<div class="border border-2">2px</div>
<div class="border border-3">3px</div>
<div class="border border-4">4px</div>
<div class="border border-5">5px</div>

<!-- Border radius -->
<div class="rounded">Rounded</div>
<div class="rounded-0">No radius</div>
<div class="rounded-1">Small radius</div>
<div class="rounded-2">Default radius</div>
<div class="rounded-3">Large radius</div>
<div class="rounded-4">XL radius</div>
<div class="rounded-5">XXL radius</div>
<div class="rounded-circle">Circle</div>
<div class="rounded-pill">Pill</div>
<div class="rounded-top">Top only</div>
<div class="rounded-end">End only</div>
<div class="rounded-bottom">Bottom only</div>
<div class="rounded-start">Start only</div>
html
<!-- 添加边框 -->
<div class="border">所有方向边框</div>
<div class="border-top">顶部边框</div>
<div class="border-end">结束方向边框</div>
<div class="border-bottom">底部边框</div>
<div class="border-start">起始方向边框</div>

<!-- 移除边框 -->
<div class="border-0">无边框</div>
<div class="border-top-0">无顶部边框</div>

<!-- 边框颜色 -->
<div class="border border-primary">主色调边框</div>
<div class="border border-success">成功色调边框</div>
<div class="border border-danger">危险色调边框</div>

<!-- 边框宽度 -->
<div class="border border-1">1px 边框</div>
<div class="border border-2">2px 边框</div>
<div class="border border-3">3px 边框</div>
<div class="border border-4">4px 边框</div>
<div class="border border-5">5px 边框</div>

<!-- 边框圆角 -->
<div class="rounded">圆角</div>
<div class="rounded-0">无圆角</div>
<div class="rounded-1">小圆角</div>
<div class="rounded-2">默认圆角</div>
<div class="rounded-3">大圆角</div>
<div class="rounded-4">超大圆角</div>
<div class="rounded-5">特大圆角</div>
<div class="rounded-circle">圆形</div>
<div class="rounded-pill">胶囊形</div>
<div class="rounded-top">仅顶部圆角</div>
<div class="rounded-end">仅结束方向圆角</div>
<div class="rounded-bottom">仅底部圆角</div>
<div class="rounded-start">仅起始方向圆角</div>

Shadow Utilities

阴影工具类

html
<div class="shadow-none">No shadow</div>
<div class="shadow-sm">Small shadow</div>
<div class="shadow">Regular shadow</div>
<div class="shadow-lg">Large shadow</div>
html
<div class="shadow-none">无阴影</div>
<div class="shadow-sm">小阴影</div>
<div class="shadow">常规阴影</div>
<div class="shadow-lg">大阴影</div>

Sizing Utilities

尺寸工具类

Width

宽度

html
<div class="w-25">25% width</div>
<div class="w-50">50% width</div>
<div class="w-75">75% width</div>
<div class="w-100">100% width</div>
<div class="w-auto">Auto width</div>
<div class="mw-100">Max-width 100%</div>
<div class="vw-100">100vw</div>
<div class="min-vw-100">Min 100vw</div>
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="mw-100">最大宽度 100%</div>
<div class="vw-100">100vw</div>
<div class="min-vw-100">最小宽度 100vw</div>

Height

高度

html
<div class="h-25">25% height</div>
<div class="h-50">50% height</div>
<div class="h-75">75% height</div>
<div class="h-100">100% height</div>
<div class="h-auto">Auto height</div>
<div class="mh-100">Max-height 100%</div>
<div class="vh-100">100vh</div>
<div class="min-vh-100">Min 100vh</div>
html
<div class="h-25">25% 高度</div>
<div class="h-50">50% 高度</div>
<div class="h-75">75% 高度</div>
<div class="h-100">100% 高度</div>
<div class="h-auto">自动高度</div>
<div class="mh-100">最大高度 100%</div>
<div class="vh-100">100vh</div>
<div class="min-vh-100">最小高度 100vh</div>

Position Utilities

定位工具类

Position Values

定位类型

html
<div class="position-static">Static (default)</div>
<div class="position-relative">Relative</div>
<div class="position-absolute">Absolute</div>
<div class="position-fixed">Fixed</div>
<div class="position-sticky">Sticky</div>
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>

Placement

定位位置

html
<!-- Edge positioning (0%, 50%, 100%) -->
<div class="position-absolute top-0 start-0">Top left</div>
<div class="position-absolute top-0 end-0">Top right</div>
<div class="position-absolute bottom-0 start-0">Bottom left</div>
<div class="position-absolute bottom-0 end-0">Bottom right</div>
<div class="position-absolute top-50 start-50">Center (needs transform)</div>
html
<!-- 边缘定位(0%, 50%, 100%) -->
<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 bottom-0 end-0">右下角</div>
<div class="position-absolute top-50 start-50">居中(需配合变换)</div>

Centering with Translate

变换居中

html
<!-- Center an element -->
<div class="position-absolute top-50 start-50 translate-middle">
  Perfectly centered
</div>

<!-- Center horizontally only -->
<div class="position-absolute start-50 translate-middle-x">
  Horizontally centered
</div>

<!-- Center vertically only -->
<div class="position-absolute top-50 translate-middle-y">
  Vertically centered
</div>
html
<!-- 元素完全居中 -->
<div class="position-absolute top-50 start-50 translate-middle">
  完美居中
</div>

<!-- 仅水平居中 -->
<div class="position-absolute start-50 translate-middle-x">
  水平居中
</div>

<!-- 仅垂直居中 -->
<div class="position-absolute top-50 translate-middle-y">
  垂直居中
</div>

Common Pattern: Badge Positioning

常见场景:徽章定位

html
<button class="btn btn-primary position-relative">
  Notifications
  <span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger">
    99+
  </span>
</button>
html
<button class="btn btn-primary position-relative">
  通知
  <span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger">
    99+
  </span>
</button>

Overflow Utilities

溢出工具类

html
<div class="overflow-auto">Auto</div>
<div class="overflow-hidden">Hidden</div>
<div class="overflow-visible">Visible</div>
<div class="overflow-scroll">Scroll</div>

<div class="overflow-x-auto">Horizontal auto</div>
<div class="overflow-x-hidden">Horizontal hidden</div>
<div class="overflow-y-auto">Vertical auto</div>
<div class="overflow-y-hidden">Vertical hidden</div>
html
<div class="overflow-auto">自动溢出</div>
<div class="overflow-hidden">隐藏溢出</div>
<div class="overflow-visible">显示溢出</div>
<div class="overflow-scroll">滚动溢出</div>

<div class="overflow-x-auto">水平方向自动溢出</div>
<div class="overflow-x-hidden">水平方向隐藏溢出</div>
<div class="overflow-y-auto">垂直方向自动溢出</div>
<div class="overflow-y-hidden">垂直方向隐藏溢出</div>

Opacity Utilities

透明度工具类

html
<div class="opacity-100">100%</div>
<div class="opacity-75">75%</div>
<div class="opacity-50">50%</div>
<div class="opacity-25">25%</div>
<div class="opacity-0">0%</div>
html
<div class="opacity-100">100% 透明度</div>
<div class="opacity-75">75% 透明度</div>
<div class="opacity-50">50% 透明度</div>
<div class="opacity-25">25% 透明度</div>
<div class="opacity-0">0% 透明度</div>

Visibility Utilities

可见性工具类

html
<div class="visible">Visible</div>
<div class="invisible">Invisible (takes space)</div>
html
<div class="visible">可见</div>
<div class="invisible">不可见(仍占据空间)</div>

Z-Index Utilities

Z轴层级工具类

html
<div class="z-n1">-1</div>
<div class="z-0">0</div>
<div class="z-1">1</div>
<div class="z-2">2</div>
<div class="z-3">3</div>
html
<div class="z-n1">-1</div>
<div class="z-0">0</div>
<div class="z-1">1</div>
<div class="z-2">2</div>
<div class="z-3">3</div>

Object Fit Utilities

对象适配工具类

html
<img class="object-fit-contain" src="...">
<img class="object-fit-cover" src="...">
<img class="object-fit-fill" src="...">
<img class="object-fit-scale" src="...">
<img class="object-fit-none" src="...">
html
<img class="object-fit-contain" src="...">
<img class="object-fit-cover" src="...">
<img class="object-fit-fill" src="...">
<img class="object-fit-scale" src="...">
<img class="object-fit-none" src="...">

Interaction Utilities

交互工具类

html
<div class="user-select-all">Select all on click</div>
<div class="user-select-auto">Default selection</div>
<div class="user-select-none">Cannot select</div>
<div class="pe-none">Pointer events none</div>
<div class="pe-auto">Pointer events auto</div>
html
<div class="user-select-all">点击全选</div>
<div class="user-select-auto">默认选择行为</div>
<div class="user-select-none">无法选中</div>
<div class="pe-none">无指针事件</div>
<div class="pe-auto">自动指针事件</div>

Float Utilities

浮动工具类

Float utilities position elements to the left or right of their container, allowing text to wrap around them.
html
<div class="float-start">Float start (left in LTR)</div>
<div class="float-end">Float end (right in LTR)</div>
<div class="float-none">No float</div>

<!-- Responsive floats -->
<div class="float-sm-start">Float start on sm+</div>
<div class="float-md-end">Float end on md+</div>
<div class="float-lg-none">No float on lg+</div>
ClassDescription
float-start
Float left (LTR)
float-end
Float right (LTR)
float-none
Remove float
Responsive:
float-{breakpoint}-{start|end|none}
Note: Modern layouts typically use flexbox or grid instead of floats. Floats remain useful for wrapping text around images.
浮动工具类可将元素定位在容器的左侧或右侧,允许文本环绕元素。
html
<div class="float-start">起始方向浮动(LTR 布局中为左侧)</div>
<div class="float-end">结束方向浮动(LTR 布局中为右侧)</div>
<div class="float-none">不浮动</div>

<!-- 响应式浮动 -->
<div class="float-sm-start">sm 尺寸以上起始方向浮动</div>
<div class="float-md-end">md 尺寸以上结束方向浮动</div>
<div class="float-lg-none">lg 尺寸以上不浮动</div>
类名描述
float-start
左侧浮动(LTR 布局)
float-end
右侧浮动(LTR 布局)
float-none
取消浮动
响应式格式:
float-{breakpoint}-{start|end|none}
注意:现代布局通常使用弹性盒或网格替代浮动。浮动仍适用于文本环绕图片的场景。

Vertical Align Utilities

垂直对齐工具类

Control vertical alignment of inline, inline-block, inline-table, and table cell elements.
html
<span class="align-baseline">baseline</span>
<span class="align-top">top</span>
<span class="align-middle">middle</span>
<span class="align-bottom">bottom</span>
<span class="align-text-top">text-top</span>
<span class="align-text-bottom">text-bottom</span>
ClassAlignment
align-baseline
Baseline (default)
align-top
Top of line
align-middle
Middle of line
align-bottom
Bottom of line
align-text-top
Top of parent's font
align-text-bottom
Bottom of parent's font
Note: These work on inline/inline-block elements and table cells, not block elements. For block vertical alignment, use flexbox (
align-items-*
).
控制行内元素、行内块元素、行内表格元素和表格单元格的垂直对齐方式。
html
<span class="align-baseline">基线对齐</span>
<span class="align-top">顶部对齐</span>
<span class="align-middle">中间对齐</span>
<span class="align-bottom">底部对齐</span>
<span class="align-text-top">文本顶部对齐</span>
<span class="align-text-bottom">文本底部对齐</span>
类名对齐方式
align-baseline
基线对齐(默认)
align-top
行顶部对齐
align-middle
行中间对齐
align-bottom
行底部对齐
align-text-top
父元素字体顶部对齐
align-text-bottom
父元素字体底部对齐
注意:这些类仅适用于行内/行内块元素和表格单元格,不适用于块级元素。块级元素的垂直对齐请使用弹性盒的
align-items-*
类。

Link Utilities

链接工具类

Style links with opacity, underline color, offset, and hover effects. Added in Bootstrap 5.3.
html
<!-- Link opacity -->
<a href="#" class="link-opacity-10">10% opacity</a>
<a href="#" class="link-opacity-25">25% opacity</a>
<a href="#" class="link-opacity-50">50% opacity</a>
<a href="#" class="link-opacity-75">75% opacity</a>
<a href="#" class="link-opacity-100">100% opacity</a>

<!-- Hover opacity -->
<a href="#" class="link-opacity-50-hover">50% on hover</a>

<!-- Underline color -->
<a href="#" class="link-underline-primary">Primary underline</a>
<a href="#" class="link-underline-secondary">Secondary underline</a>
<a href="#" class="link-underline-success">Success underline</a>

<!-- Underline offset -->
<a href="#" class="link-offset-1">1 offset</a>
<a href="#" class="link-offset-2">2 offset</a>
<a href="#" class="link-offset-3">3 offset</a>

<!-- Underline opacity -->
<a href="#" class="link-underline-opacity-0">No underline</a>
<a href="#" class="link-underline-opacity-25">25% underline</a>
<a href="#" class="link-underline-opacity-50">50% underline</a>

<!-- Combined styling -->
<a href="#" class="link-offset-2 link-underline-opacity-25 link-underline-opacity-100-hover">
  Styled link
</a>
ClassDescription
link-opacity-{10|25|50|75|100}
Link text opacity
link-opacity-{value}-hover
Opacity on hover
link-underline-{color}
Underline color
link-offset-{1|2|3}
Underline distance
link-underline-opacity-{0|10|25|50|75|100}
Underline opacity
为链接设置透明度、下划线颜色、偏移量和悬停效果。Bootstrap 5.3 新增功能。
html
<!-- 链接透明度 -->
<a href="#" class="link-opacity-10">10% 透明度</a>
<a href="#" class="link-opacity-25">25% 透明度</a>
<a href="#" class="link-opacity-50">50% 透明度</a>
<a href="#" class="link-opacity-75">75% 透明度</a>
<a href="#" class="link-opacity-100">100% 透明度</a>

<!-- 悬停透明度 -->
<a href="#" class="link-opacity-50-hover">悬停时 50% 透明度</a>

<!-- 下划线颜色 -->
<a href="#" class="link-underline-primary">主色调下划线</a>
<a href="#" class="link-underline-secondary">次要色调下划线</a>
<a href="#" class="link-underline-success">成功色调下划线</a>

<!-- 下划线偏移量 -->
<a href="#" class="link-offset-1">偏移量 1</a>
<a href="#" class="link-offset-2">偏移量 2</a>
<a href="#" class="link-offset-3">偏移量 3</a>

<!-- 下划线透明度 -->
<a href="#" class="link-underline-opacity-0">无下划线</a>
<a href="#" class="link-underline-opacity-25">25% 透明度下划线</a>
<a href="#" class="link-underline-opacity-50">50% 透明度下划线</a>

<!-- 组合样式 -->
<a href="#" class="link-offset-2 link-underline-opacity-25 link-underline-opacity-100-hover">
  自定义样式链接
</a>
类名描述
link-opacity-{10|25|50|75|100}
链接文本透明度
link-opacity-{value}-hover
悬停时透明度
link-underline-{color}
下划线颜色
link-offset-{1|2|3}
下划线与文本的距离
link-underline-opacity-{0|10|25|50|75|100}
下划线透明度

Utilities API

工具类 API

Bootstrap's utilities are generated via a Sass-based API, allowing full customization.
Bootstrap 的工具类基于 Sass API 生成,支持完全自定义。

API Structure

API 结构

Each utility is defined as a map with these key options:
OptionDescription
property
CSS property name (required)
values
List or map of values (required)
class
Custom class prefix (optional)
responsive
Generate responsive variants (default: false)
print
Generate print variants (default: false)
state
Generate state variants like
:hover
css-var
Output as CSS variables instead of rules
css-variable-name
Custom CSS variable name (with css-var)
local-vars
Map of local CSS variables
rfs
Enable fluid rescaling (default: false)
rtl
Include in RTL output (default: true)
Note: All utilities include
!important
by default. Disable globally with
$enable-important-utilities: false
.
每个工具类通过以下键值对定义:
选项描述
property
CSS 属性名(必填)
values
值列表或映射(必填)
class
自定义类前缀(可选)
responsive
是否生成响应式变体(默认:false)
print
是否生成打印变体(默认:false)
state
是否生成状态变体(如
:hover
css-var
是否输出为 CSS 变量而非规则
css-variable-name
自定义 CSS 变量名(配合 css-var 使用)
local-vars
本地 CSS 变量映射
rfs
是否启用流体缩放(默认:false)
rtl
是否包含在 RTL 输出中(默认:true)
注意:所有工具类默认包含
!important
。可通过全局设置
$enable-important-utilities: false
禁用。

Adding Custom Utilities

添加自定义工具类

scss
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/variables-dark";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";

$utilities: map-merge(
  $utilities,
  (
    "cursor": (
      property: cursor,
      class: cursor,
      responsive: true,
      values: auto pointer grab grabbing not-allowed
    )
  )
);

@import "bootstrap/scss/utilities/api";
scss
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/variables-dark";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";

$utilities: map-merge(
  $utilities,
  (
    "cursor": (
      property: cursor,
      class: cursor,
      responsive: true,
      values: auto pointer grab grabbing not-allowed
    )
  )
);

@import "bootstrap/scss/utilities/api";

Modifying Existing Utilities

修改现有工具类

scss
// Add responsive variants to an existing utility
$utilities: map-merge(
  $utilities,
  (
    "overflow": map-merge(
      map-get($utilities, "overflow"),
      (responsive: true)
    )
  )
);
scss
// 为现有工具类添加响应式变体
$utilities: map-merge(
  $utilities,
  (
    "overflow": map-merge(
      map-get($utilities, "overflow"),
      (responsive: true)
    )
  )
);

Removing Utilities

移除工具类

scss
// Remove entirely
$utilities: map-remove($utilities, "float");

// Or set to null
$utilities: map-merge($utilities, ("float": null));
scss
// 完全移除
$utilities: map-remove($utilities, "float");

// 或设置为 null
$utilities: map-merge($utilities, ("float": null));

Common Patterns

常见布局模式

Frequently-used utility combinations for real-world scenarios.
实际开发中常用的工具类组合场景。

Centered Container (Full Viewport)

全屏居中容器

html
<div class="d-flex justify-content-center align-items-center min-vh-100">
  <div class="text-center">
    <h1>Perfectly Centered</h1>
    <p>Both horizontally and vertically</p>
  </div>
</div>
html
<div class="d-flex justify-content-center align-items-center min-vh-100">
  <div class="text-center">
    <h1>完美居中</h1>
    <p>水平和垂直方向均居中</p>
  </div>
</div>

Sticky Footer Layout

粘性页脚布局

html
<div class="d-flex flex-column min-vh-100">
  <header class="bg-dark text-white p-3">Header</header>
  <main class="flex-grow-1 p-3">Main content</main>
  <footer class="bg-body-secondary p-3">Footer stays at bottom</footer>
</div>
html
<div class="d-flex flex-column min-vh-100">
  <header class="bg-dark text-white p-3">页头</header>
  <main class="flex-grow-1 p-3">主内容</main>
  <footer class="bg-body-secondary p-3">页脚固定在底部</footer>
</div>

Card with Spacing and Shadow

带间距和阴影的卡片

html
<div class="card shadow-sm border-0 rounded-3">
  <div class="card-body p-4">
    <h5 class="card-title mb-3">Title</h5>
    <p class="card-text text-muted mb-0">Content</p>
  </div>
</div>
html
<div class="card shadow-sm border-0 rounded-3">
  <div class="card-body p-4">
    <h5 class="card-title mb-3">标题</h5>
    <p class="card-text text-muted mb-0">内容</p>
  </div>
</div>

Responsive Hide/Show

响应式显示/隐藏

html
<!-- Hidden on mobile, visible on desktop -->
<div class="d-none d-md-block">Desktop only</div>

<!-- Visible on mobile, hidden on desktop -->
<div class="d-block d-md-none">Mobile only</div>
html
<!-- 移动端隐藏,桌面端可见 -->
<div class="d-none d-md-block">仅桌面端可见</div>

<!-- 移动端可见,桌面端隐藏 -->
<div class="d-block d-md-none">仅移动端可见</div>

Icon + Text Alignment

图标与文本对齐

html
<div class="d-flex align-items-center gap-2">
  <svg>...</svg>
  <span>Text aligned with icon</span>
</div>
html
<div class="d-flex align-items-center gap-2">
  <svg>...</svg>
  <span>与图标对齐的文本</span>
</div>

When to Use Utilities vs Custom CSS

工具类 vs 自定义 CSS 的使用场景

ScenarioRecommended Approach
One-off spacing adjustmentUtility classes (
mt-3
,
p-4
)
Consistent component stylingCustom component class
Responsive show/hideDisplay utilities (
d-none d-md-block
)
Complex hover/focus statesCustom CSS
Values not in Bootstrap scaleExtend via Utilities API or custom CSS
Repeated pattern (3+ times)Extract to custom class
Quick prototypeUtilities for speed
Production componentConsider extracting repeated utilities
Rule of thumb: If you're applying the same combination of 4+ utilities to multiple elements, consider creating a custom class.
场景推荐方案
一次性间距调整使用工具类(如
mt-3
,
p-4
组件统一样式自定义组件类
响应式显示/隐藏使用显示工具类(如
d-none d-md-block
复杂悬停/聚焦状态自定义 CSS
Bootstrap 比例中没有的值通过工具类 API 扩展或自定义 CSS
重复使用 3 次以上的样式组合提取为自定义类
快速原型开发使用工具类提升效率
生产环境组件考虑提取重复使用的工具类组合
经验法则:如果同一个工具类组合应用在 4 个及以上元素上,建议创建自定义类。

Additional Resources

额外资源

Reference Files

参考文档

  • references/utilities-reference.md
    - Complete utility class reference
  • references/api-customization.md
    - Advanced Sass customization examples
  • references/utilities-reference.md
    - 完整工具类参考
  • references/api-customization.md
    - Sass 高级自定义示例

Example Files

示例文件

  • examples/card-layout.html
    - Card styling with spacing, shadows, and borders
  • examples/responsive-utilities.html
    - Responsive display and spacing patterns
  • examples/flex-centering.html
    - Flexbox centering techniques
  • examples/card-layout.html
    - 使用间距、阴影和边框的卡片样式
  • examples/responsive-utilities.html
    - 响应式显示和间距模式
  • examples/flex-centering.html
    - 弹性盒居中技巧