Skip to content

Bootstrap 颜色

概述

Bootstrap 提供了一套完整的颜色系统,包括主题颜色、语义颜色和工具类。这些颜色确保了设计的一致性和可访问性。

主题颜色

Bootstrap 定义了一套主题颜色,用于创建一致的设计语言:

基本颜色

html
<!-- 主要颜色 -->
<div class="p-3 mb-2 bg-primary text-white">Primary</div>
<div class="p-3 mb-2 bg-secondary text-white">Secondary</div>
<div class="p-3 mb-2 bg-success text-white">Success</div>
<div class="p-3 mb-2 bg-danger text-white">Danger</div>
<div class="p-3 mb-2 bg-warning text-dark">Warning</div>
<div class="p-3 mb-2 bg-info text-dark">Info</div>
<div class="p-3 mb-2 bg-light text-dark">Light</div>
<div class="p-3 mb-2 bg-dark text-white">Dark</div>

文本颜色

使用 .text-* 类设置文本颜色:

html
<p class="text-primary">Primary 文本</p>
<p class="text-secondary">Secondary 文本</p>
<p class="text-success">Success 文本</p>
<p class="text-danger">Danger 文本</p>
<p class="text-warning">Warning 文本</p>
<p class="text-info">Info 文本</p>
<p class="text-light bg-dark">Light 文本</p>
<p class="text-dark">Dark 文本</p>
<p class="text-body">Body 文本</p>
<p class="text-muted">Muted 文本</p>
<p class="text-white bg-dark">White 文本</p>

文本颜色透明度

Bootstrap 5 支持文本颜色透明度:

html
<div class="text-primary">这是默认的 primary 文本</div>
<div class="text-primary text-opacity-75">这是 75% 透明度的 primary 文本</div>
<div class="text-primary text-opacity-50">这是 50% 透明度的 primary 文本</div>
<div class="text-primary text-opacity-25">这是 25% 透明度的 primary 文本</div>

背景颜色

使用 .bg-* 类设置背景颜色:

html
<div class="bg-primary text-white p-2">Primary 背景</div>
<div class="bg-secondary text-white p-2">Secondary 背景</div>
<div class="bg-success text-white p-2">Success 背景</div>
<div class="bg-danger text-white p-2">Danger 背景</div>
<div class="bg-warning text-dark p-2">Warning 背景</div>
<div class="bg-info text-dark p-2">Info 背景</div>
<div class="bg-light text-dark p-2">Light 背景</div>
<div class="bg-dark text-white p-2">Dark 背景</div>

背景颜色透明度

html
<div class="bg-success p-2 text-white">这是默认的 success 背景</div>
<div class="bg-success p-2 text-white bg-opacity-75">这是 75% 透明度的 success 背景</div>
<div class="bg-success p-2 text-dark bg-opacity-50">这是 50% 透明度的 success 背景</div>
<div class="bg-success p-2 text-dark bg-opacity-25">这是 25% 透明度的 success 背景</div>
<div class="bg-success p-2 text-dark bg-opacity-10">这是 10% 透明度的 success 背景</div>

渐变背景

使用 .bg-gradient 类添加渐变效果:

html
<div class="bg-primary bg-gradient text-white p-3">Primary 渐变</div>
<div class="bg-secondary bg-gradient text-white p-3">Secondary 渐变</div>
<div class="bg-success bg-gradient text-white p-3">Success 渐变</div>
<div class="bg-danger bg-gradient text-white p-3">Danger 渐变</div>

边框颜色

使用 .border-* 类设置边框颜色:

html
<div class="border border-primary p-2 mb-2">Primary 边框</div>
<div class="border border-secondary p-2 mb-2">Secondary 边框</div>
<div class="border border-success p-2 mb-2">Success 边框</div>
<div class="border border-danger p-2 mb-2">Danger 边框</div>
<div class="border border-warning p-2 mb-2">Warning 边框</div>
<div class="border border-info p-2 mb-2">Info 边框</div>
<div class="border border-light p-2 mb-2">Light 边框</div>
<div class="border border-dark p-2 mb-2">Dark 边框</div>
<div class="border border-white p-2 mb-2 bg-dark">White 边框</div>

链接颜色

为链接设置颜色:

html
<a href="#" class="link-primary">Primary 链接</a>
<a href="#" class="link-secondary">Secondary 链接</a>
<a href="#" class="link-success">Success 链接</a>
<a href="#" class="link-danger">Danger 链接</a>
<a href="#" class="link-warning">Warning 链接</a>
<a href="#" class="link-info">Info 链接</a>
<a href="#" class="link-light">Light 链接</a>
<a href="#" class="link-dark">Dark 链接</a>

实际示例

html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Bootstrap 颜色示例</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div class="container my-5">
        <h1 class="text-primary">Bootstrap 颜色系统</h1>
        <p class="lead text-muted">展示 Bootstrap 的各种颜色应用</p>
        
        <hr>
        
        <!-- 主题颜色展示 -->
        <h2>主题颜色</h2>
        <div class="row">
            <div class="col-md-3 mb-3">
                <div class="bg-primary text-white p-3 rounded">
                    <h5>Primary</h5>
                    <p class="mb-0">主要颜色</p>
                </div>
            </div>
            <div class="col-md-3 mb-3">
                <div class="bg-success text-white p-3 rounded">
                    <h5>Success</h5>
                    <p class="mb-0">成功颜色</p>
                </div>
            </div>
            <div class="col-md-3 mb-3">
                <div class="bg-warning text-dark p-3 rounded">
                    <h5>Warning</h5>
                    <p class="mb-0">警告颜色</p>
                </div>
            </div>
            <div class="col-md-3 mb-3">
                <div class="bg-danger text-white p-3 rounded">
                    <h5>Danger</h5>
                    <p class="mb-0">危险颜色</p>
                </div>
            </div>
        </div>
        
        <!-- 文本颜色 -->
        <h2>文本颜色</h2>
        <div class="row">
            <div class="col-md-6">
                <p class="text-primary">这是 Primary 文本颜色</p>
                <p class="text-success">这是 Success 文本颜色</p>
                <p class="text-warning">这是 Warning 文本颜色</p>
                <p class="text-danger">这是 Danger 文本颜色</p>
            </div>
            <div class="col-md-6">
                <p class="text-info">这是 Info 文本颜色</p>
                <p class="text-secondary">这是 Secondary 文本颜色</p>
                <p class="text-dark">这是 Dark 文本颜色</p>
                <p class="text-muted">这是 Muted 文本颜色</p>
            </div>
        </div>
        
        <!-- 透明度示例 -->
        <h2>透明度效果</h2>
        <div class="bg-info p-3 rounded">
            <div class="text-white">100% 不透明</div>
            <div class="text-white text-opacity-75">75% 透明度</div>
            <div class="text-white text-opacity-50">50% 透明度</div>
            <div class="text-white text-opacity-25">25% 透明度</div>
        </div>
        
        <!-- 渐变效果 -->
        <h2 class="mt-4">渐变效果</h2>
        <div class="row">
            <div class="col-md-6 mb-3">
                <div class="bg-primary bg-gradient text-white p-3 rounded">
                    Primary 渐变背景
                </div>
            </div>
            <div class="col-md-6 mb-3">
                <div class="bg-success bg-gradient text-white p-3 rounded">
                    Success 渐变背景
                </div>
            </div>
        </div>
        
        <!-- 边框颜色 -->
        <h2>边框颜色</h2>
        <div class="row">
            <div class="col-md-4 mb-3">
                <div class="border border-primary border-3 p-3 rounded">
                    Primary 边框
                </div>
            </div>
            <div class="col-md-4 mb-3">
                <div class="border border-success border-3 p-3 rounded">
                    Success 边框
                </div>
            </div>
            <div class="col-md-4 mb-3">
                <div class="border border-danger border-3 p-3 rounded">
                    Danger 边框
                </div>
            </div>
        </div>
        
        <!-- 链接颜色 -->
        <h2>链接颜色</h2>
        <p>
            <a href="#" class="link-primary me-3">Primary 链接</a>
            <a href="#" class="link-success me-3">Success 链接</a>
            <a href="#" class="link-warning me-3">Warning 链接</a>
            <a href="#" class="link-danger">Danger 链接</a>
        </p>
    </div>
</body>
</html>

颜色对比和可访问性

确保足够的对比度

html
<!-- 好的对比度 -->
<div class="bg-dark text-white p-3">深色背景配白色文字</div>
<div class="bg-light text-dark p-3">浅色背景配深色文字</div>

<!-- 避免低对比度 -->
<div class="bg-warning text-warning p-3">避免:背景和文字颜色相近</div>

语义化使用颜色

html
<!-- 正确的语义化使用 -->
<div class="alert alert-success">
    <strong>成功!</strong> 操作已完成。
</div>

<div class="alert alert-danger">
    <strong>错误!</strong> 请检查输入信息。
</div>

<div class="alert alert-warning">
    <strong>警告!</strong> 请注意以下事项。
</div>

自定义颜色

CSS 变量

Bootstrap 5 使用 CSS 自定义属性(变量),你可以覆盖这些变量:

css
:root {
    --bs-primary: #007bff;
    --bs-success: #28a745;
    --bs-danger: #dc3545;
}

Sass 变量

如果使用 Sass,可以自定义颜色变量:

scss
$primary: #007bff;
$success: #28a745;
$danger: #dc3545;
$warning: #ffc107;
$info: #17a2b8;

最佳实践

  1. 保持一致性:在整个项目中使用相同的颜色系统
  2. 考虑可访问性:确保颜色对比度符合 WCAG 标准
  3. 语义化使用:根据内容含义选择合适的颜色
  4. 测试不同环境:在不同设备和光线条件下测试颜色效果
  5. 避免过度使用:不要在一个页面使用太多不同的颜色

下一步

现在你已经掌握了 Bootstrap 的颜色系统,接下来我们将学习表格样式。

下一章:Bootstrap 表格 →

本站内容仅供学习和研究使用。