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

Bootstrap导航栏切换按钮点击后偏移问题求助

解决Bootstrap导航栏切换按钮点击后偏移左侧的问题

问题根源

你的代码中,.container-fluid默认采用Flex布局,点击切换按钮展开菜单后,原本折叠的.navbar-collapse会从隐藏变为显示并占据容器内的可用空间,导致切换按钮所在容器被挤压到左侧,破坏了原本的居中效果。

修复方案

直接给navbar-toggler按钮添加Bootstrap内置的mx-auto类,无需额外嵌套容器,即可让按钮始终保持居中,不受菜单展开/折叠状态影响:

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

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>My resumé</title>


  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
  <link href="https://fonts.googleapis.com/css2?family=Anonymous+Pro&amp;family=Lato&amp;display=swap" rel="stylesheet">
  <script src="https://kit.fontawesome.com/c4df5125eb.js" crossorigin="anonymous"></script>
  <style>
    #navbar-center {
      display: flex;
      justify-content: center;
      align-items: center;
    }
    
    .card {
      margin: 2vh 1rem;
    }
    
    footer {
      position: fixed;
      top: 0;
      padding-left: 90vw;
    }
  </style>
</head>

<body>

  </header>
  <div id="navbar-center">
    <nav id="navbar" class="navbar navbar-expand-lg">
      <div class="container-fluid">
        <!-- 直接给按钮加mx-auto实现居中 -->
        <button class="navbar-toggler mx-auto" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse justify-content-center" id="navbarSupportedContent">
          <ul class="navbar-nav me-auto mb-2 mb-lg-0">
            <li class="nav-item">
              <a class="nav-link btn btn-primary" href="#executive-summary">Executive Summary</a>
            </li>
            <li class="nav-item">
              <a class="nav-link btn btn-primary" href="#technical-skillset">Skillset</a>
            </li>
          </ul>
        </div>
      </div>
    </nav>
  </div>
  <div id="executive-summary"></div>
  <div id="technical-skillset"></div>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-geWF76RCwLtnZ8qwWowPQNguL3RmwHVBC9FhGdlKrxdiJJigb/j/68SIy3Te4Bkz" crossorigin="anonymous"></script>

</body>

</html>

补充说明

  • mx-auto是Bootstrap内置类,作用是给元素添加左右自动外边距,在Flex容器中会自动居中元素。
  • 移除了原本包裹按钮的d-flex justify-content-center容器,避免Flex布局冲突导致的偏移问题。

内容的提问来源于stack exchange,提问作者Dennis Mariegaard Jensen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 10:03:20