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

Bootstrap导航栏Dropdown menu超出屏幕右侧问题求助

问题描述

在导航栏(navbar)中添加下拉菜单后,菜单显示时始终超出页面右侧,页面右侧还因此出现多余空白,但下拉功能正常。

问题代码

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<nav class="navbar navbar-dark bg-dark">
  <a class="navbar-brand" href="#">PEL</a>
  <div class="btn-group">
    <button
      type="button"
      class="btn btn-secondary dropdown-toggle mr-3"
      data-toggle="dropdown"
      aria-haspopup="true"
      aria-expanded="false">${pseudo}</button>
    <div class="dropdown-menu dropdown-menu-right">
      <button
        class="dropdown-item dropdown-menu-right"
        type="button">Action</button>
      <button
        class="dropdown-item dropdown-menu-right"
        type="button">Another action</button>
      <button
        class="dropdown-item dropdown-menu-right"
        type="button">Something else here</button>
    </div>
  </div>
</nav>

问题截图

下拉菜单超出右侧截图1
下拉菜单超出右侧截图2

解决方案

问题核心是给**菜单项(dropdown-item)**错误添加了dropdown-menu-right类——这个类仅作用于下拉菜单容器,给菜单项添加后会破坏布局,导致菜单偏移出页面。

修改步骤

  • 仅保留下拉菜单容器<div class="dropdown-menu dropdown-menu-right">的dropdown-menu-right类
  • 移除所有<button class="dropdown-item">上的dropdown-menu-right类

修正后的完整代码

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<nav class="navbar navbar-dark bg-dark">
  <a class="navbar-brand" href="#">PEL</a>
  <div class="btn-group">
    <button
      type="button"
      class="btn btn-secondary dropdown-toggle mr-3"
      data-toggle="dropdown"
      aria-haspopup="true"
      aria-expanded="false">${pseudo}</button>
    <div class="dropdown-menu dropdown-menu-right">
      <button
        class="dropdown-item"
        type="button">Action</button>
      <button
        class="dropdown-item"
        type="button">Another action</button>
      <button
        class="dropdown-item"
        type="button">Something else here</button>
    </div>
  </div>
</nav>

补充说明

确保页面已引入Bootstrap的JS依赖,否则下拉交互可能失效:

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.12.9/dist/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>

内容的提问来源于stack exchange,提问作者LePain Demi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 01:45:32