html - Bootstrap 下拉菜单定位不正确

标签 html css twitter-bootstrap twitter-bootstrap-3

当我在使用 CSS“text-align: center”将下拉菜单居中的 div 中放置 Bootstrap 下拉菜单时,下拉菜单出现在下拉菜单的原始非居中位置。下拉菜单似乎不知道它的触发按钮已被移动。

问题在这个 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>

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

最佳答案

如果将 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;
}

关于html - Bootstrap 下拉菜单定位不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29124032/

相关文章:

javascript - 使用 jQuery 更改 Bootstrap 模式中的 onClick 属性

html - 删除页面页脚会使页面变形。如何修复它?

javascript - Angularjs 同一 Controller 的两种形式

javascript - 附加元素的克隆导致页面无法加载

css - 仅使用 css3 创建钻石

jquery - 将单个表行设为红色(MVC 5/Bootstrap 3)

python - Beautifulsoup 找不到标签

css - 不同位置的下拉可见性

html - 粘性菜单中的宽度调整不正确(响应式)

javascript - 如何在 bootstrap div 顶部显示按钮?