Bootstrap 菜单未正确定位

esbemjvw  于 2023-09-28  发布在  Bootstrap
关注(0)|答案(2)|浏览(163)

当我把一个引导下拉列表放在一个div中,使用CSS“text-align:center”,则显示器菜单将出现在显示器的原始非居中位置。机器人似乎不知道它的触发按钮已经被移动了。
这个问题在这个jsfiddle中表示:
https://jsfiddle.net/dkent600/wyos4ukt
fiddle包含以下代码:

<div style="background-color:grey; text-align:center">
    <div class="dropdown">
        <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-expanded="true">
            Dropdown
            <span class="caret"></span>
        </button>
        <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
            <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li>
         </ul>
    </div>
</div>

感谢您提供任何有关如何解决此问题的线索。

3xiyfsfu

3xiyfsfu1#

如果将类btn-group添加到.dropdown元素中,则下拉菜单将正确定位。
Updated Exmple

<div class="btn-group dropdown">
    <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-expanded="true">
        Dropdown
        <span class="caret"></span>
    </button>
    <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
        <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li>
        <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Another action</a></li>
        <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
        <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Separated link</a></li>
    </ul>
</div>

之所以这样做是因为类添加了以下CSS。这样,下拉菜单的位置绝对 * 相对 * 于父元素。

.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  float: left;
}

或者,您还可以添加以下内容:
Updated Example

.dropdown {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}
7tofc5zh

7tofc5zh2#

对我来说,(使用bootstrap 5),这实际上是因为我在输入中遗漏了.dropdown类,而不是相反(这是公认的答案)。
希望这对其他人有帮助。

相关问题