css - 如何自动调整 Bootstrap 导航栏中的下拉框不超过页面宽度?

标签 css html twitter-bootstrap

单击下拉菜单时,下拉框超出页面宽度并显示水平滚动。

帮帮我,如果右边/左边是页面末尾没有滚动(如下图所示),如何使下拉框自动调整位置?。

演示:https://codepen.io/ramlals/pen/RmoGEx

enter image description here

我知道可以通过给下拉菜单留边距来避免这种情况,但我需要框来自动调整位置。堆栈中的类似问题与下拉菜单/大小调整有关,但与下拉框无关。

我的代码(bootstrap navbar example)如下:

 <nav class="navbar navbar-expand-lg navbar-light bg-light">
                <a class="navbar-brand" href="#">Navbar</a>
                <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
                  <span class="navbar-toggler-icon"></span>
                </button>

                <div class="collapse navbar-collapse" id="navbarSupportedContent">
                  <ul class="navbar-nav ml-auto">
                    <li class="nav-item active">
                      <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" href="#">Link</a>
                    </li>
                    <li class="nav-item dropdown">
                      <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        Dropdown
                      </a>
                      <div class="dropdown-menu w-100" aria-labelledby="navbarDropdown">
                        <a class="dropdown-item" href="#">Action</a>
                        <a class="dropdown-item" href="#">Another action</a>
                        <div class="dropdown-divider"></div>
                        <a class="dropdown-item" href="#">Something else here</a>
                      </div>
                    </li>
                  </ul>

                </div>
              </nav>

提前致谢。

最佳答案

这很容易,您已经将 position: absolute 应用到该 div 元素。现在只需在下面提到的同一元素中再添加一种样式:

left: -60px;

整个代码看起来像这样

@media (min-width: 992px)
.navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
    left: -60px;
}

这会有所帮助。

关于css - 如何自动调整 Bootstrap 导航栏中的下拉框不超过页面宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56124282/

相关文章:

html - 垂直对齐并排 div 中的内容

css - 在 Angular 中导入全局 css 文件会导致 Webpack 发出巨大的模块包

javascript - 绝对定位 li 重叠文本

html - DevExtreme 覆盖 dxButton 的 css

html - 我应该如何为多个 html 页面编写 1 个 css 文件?

java - 如何在 JTextPane 中显示 Applet

javascript - Bootstrap Modal 中的提交按钮无需输入即可工作

html - 在小屏幕上隐藏和管理导航栏元素

javascript - Angular 超时不起作用

javascript - Fluidbox.js 如何与选项卡一起使用