You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Bootstrap 5中的Footer适配侧边栏宽度?

解决Bootstrap 5侧边栏页脚宽度适配问题

问题说明

作为Bootstrap 5新手,我在设计网站模板时遇到一个问题:侧边栏底部的操作按钮栏(页脚)无法适配侧边栏的整个宽度,希望让它完全铺满侧边栏宽度。

解决方案

只需调整页脚区域的Bootstrap类即可实现效果:

  • 移除页脚外层容器的mx-auto类(该类会让容器居中,限制宽度无法铺满)
  • 给页脚容器添加w-100类,确保宽度占满父容器
  • 将按钮列表的list-group-horizontal替换为list-group-flush d-flex,同时给每个列表项添加flex-fill,让按钮均匀分配宽度

修改后的完整代码

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.1/font/bootstrap-icons.css">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
  <style>
    #sidebar-nav {
      background-color: #212529;
      color: white;
    }
    #sidebar-nav a {
      color: white;
    }
  </style>
</head>

<body>
  <div class="container-fluid ">
    <div class="row flex-nowrap  ">
      <div class="col-auto px-0 ">

        <div id="sidebar" class=" collapse collapse-horizontal show border-end  ">

          <div id="sidebar-nav" class=" d-flex list-group border-0 rounded-0 text-sm-start min-vh-100 flex-column">
            <!-- 品牌区域 -->
            <a href="/" class="d-flex align-items-center pb-sm-3 mb-md-0 me-md-auto  text-decoration-none">
              <span class="fs-4 ">Clinique Mangement</span>
            </a>
            <!-- 侧边栏菜单 -->
            <a href="#" class="list-group-item border-end-0 d-inline-block text-truncate " data-bs-parent="#sidebar"> <i class="fs-4 bi-house-door"></i> <span>Dashboard</span> </a>
            <a href="#" class="list-group-item border-end-0 d-inline-block text-truncate  " data-bs-parent="#sidebar"><i class="fs-4 bi-calendar-event"></i> <span >Appointments</span> </a>
            <a href="#" class="list-group-item border-end-0 d-inline-block text-truncate  " data-bs-parent="#sidebar"> <i class="fs-4 bi-people"></i> <span>Doctors</span></a>
            <a href="#" class="list-group-item border-end-0 d-inline-block text-truncate  " data-bs-parent="#sidebar"><i class="fs-4 bi-people"></i> <span >Users</span> </a>
            <a href="#" class="list-group-item border-end-0 d-inline-block text-truncate " data-bs-parent="#sidebar"> <i class="fs-4 bi-people"></i> <span>Patients</span> </a>
            <div class="dropdown bg-dark">
              <a href="#" class="list-group-item border-end-0  text-truncate  dropdown-toggle  bg-dark  " data-bs-parent="#sidebar" data-bs-toggle="dropdown"> <i class="fs-4 bi-bar-chart-line"></i> <span>Reports </span></a>
              <ul class="dropdown-menu dropdown-menu-dark text-small shadow" data-bs-labelledby="dropdown">
                <li><a class="dropdown-item" href="#">New project...</a></li>
                <li><a class="dropdown-item" href="#">Settings</a></li>
                <li><a class="dropdown-item" href="#">Profile</a></li>
                <li>
                  <hr class="dropdown-divider">
                </li>
                <li><a class="dropdown-item" href="#">Sign out</a></li>
              </ul>
            </div>
            <!-- 页脚操作栏 -->
            <div class="d-flex py-sm-0 mt-auto w-100 flex-shrink-1" data-bs-parent="#sidebar">
              <ul class="list-group list-group-flush d-flex w-100">
                <li class="list-group-item flex-fill bg-dark text-white"> <i class="fa fa-gear fa-lg"></i></li>
                <li class="list-group-item flex-fill bg-dark text-white"> <i class="fa fa-arrows-alt fa-lg"></i></li>
                <li class="list-group-item flex-fill bg-dark text-white"> <i class="fa fa-eye-slash  fa-lg"></i></li>
                <li class="list-group-item flex-fill bg-dark text-white"> <i class="fa fa-power-off fa-lg"></i></li>
              </ul>
            </div>
          </div>
        </div>

      </div>
      <!-- 主内容区域 -->
      <div class="col d-flex flex-column h-sm-100">
        <main class="row ps-md-0 pt-0">
          <a href="#" data-bs-target="#sidebar" data-bs-toggle="collapse" class="border rounded-3 p-1 text-decoration-none bg-light"><i class="fa fa-list-ul fa-lg py-2 p-1"></i> Menu</a>
          <div class="page-header pt-3">
            <h2>Bootstrap 5 Sidebar Menu - Simple</h2>
          </div>
        </main>
      </div>
    </div>
  </div>
</body>

</html>

关键修改点说明

  1. 给#sidebar-nav添加flex-column类,规范侧边栏垂直布局
  2. 页脚容器移除mx-auto并添加w-100,确保宽度铺满侧边栏
  3. 按钮列表改为list-group-flush d-flex w-100,去掉默认边框并启用弹性布局
  4. 每个列表项添加flex-fill,让四个按钮均匀分配侧边栏宽度,完全铺满

内容的提问来源于stack exchange,提问作者Tara Raine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 05:27:01