twitter-bootstrap Bootstrap 按钮下拉菜单不在按钮下方

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/35956194/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-21 23:44:14  来源:igfitidea点击:

Bootstrap button dropdown not below button

jqueryhtmlcsstwitter-bootstrap

提问by Roy

I am having issues with getting a bootstrap button dropdown to actually show the dropdown below the button. It currently shows it below another div. I have been trying to get it to work for the past couple of hours and I can't do it.

我在获取引导按钮下拉列表以实际显示按钮下方的下拉列表时遇到问题。它目前显示在另一个 div 下方。在过去的几个小时里,我一直试图让它工作,但我做不到。

HTML

HTML

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

    <head>
      <link href="css/style.css" rel="stylesheet" />
      <script src="js/jquery.min.js"></script>
      <script src="js/bootstrap.min.js"></script>
    </head>

    <body class="nav-md">
      <div class="container body">
        <div class="main_container">
          <div class="col-md-3 left_col">
            <div class="left_col scroll-view"> </div>
          </div>
          <!-- page content -->
          <div class="right_col" role="main">
            <div class="">
              <div class="col-md-12 col-sm-12 col-xs-12">
                <div class="x_panel">
                  <div class="x_content">
                    <div class="" data-example-id="togglable-tabs" role="tabpanel">
                      <ul class="nav nav-tabs bar_tabs" id="myTab" role="tablist">
                        <li class="active" role="presentation"> <a aria-expanded="true" data-toggle="tab" href="#tab_content1" id="home-tab" role="tab"><i class="fa fa-globe"></i> Tab 1</a></li>
                      </ul>
                      <div class="tab-content" id="myTabContent">
                        <div aria-labelledby="home-tab" class="tab-pane fade active in" id="tab_content1" role="tabpanel">
                          <div class="row">
                            <div id="saveloaddiv" style="float:right;display:inline-block;"> <button data-toggle="dropdown" class="btn btn-success dropdown-toggle btn-xs" type="button" aria-expanded="true">Success <span class="caret"></span>
                                        </button>
                              <ul role="menu" class="dropdown-menu">
                                <li><a href="#">Action</a> </li>
                                <li><a href="#">Another action</a> </li>
                                <li><a href="#">Something else here</a> </li>
                                <li class="divider"></li>
                                <li><a href="#">Separated link</a> </li>
                              </ul>
                            </div>
                          </div>
                          <div class="clearfix"></div>
                          <div class="row">
                            <div class="col-md-12 col-sm-12 col-xs-12">
                              <div id="text">
                                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
          <!-- /page content -->
        </div>
      </div>
    </body>
    </html>

I am using the twitter bootstrap cdn for my css and js.

我正在为我的 css 和 js 使用 twitter bootstrap cdn。

I have made a fiddle to illustrate the problem: https://jsfiddle.net/rdawkins/f7m6cv7q/8/

我做了一个小提琴来说明这个问题:https: //jsfiddle.net/rdawkins/f7m6cv7q/8/

回答by Roy

The key to the solution is position: relative;.

解决的关键是position: relative;

Wrap the button and the dropdown menu inside a div, and make the container position: relative;. Place the menu via CSS under the button.

将按钮和下拉菜单包裹在 a 中div,并制作容器position: relative;。通过 CSS 将菜单放置在按钮下方。

See an updated JSFiddleand the extra code below.

查看更新的 JSFiddle和下面的额外代码。

HTML

HTML

<div class="dropdown-container"><!--Container wrapped around-->
  <button data-toggle="dropdown" class="btn btn-success dropdown-toggle btn-xs" type="button" aria-expanded="true">Success <span class="caret"></span>
  </button>
  <ul role="menu" class="dropdown-menu">
    <li><a href="#">Action</a> </li>
    <li><a href="#">Another action</a> </li>
    <li><a href="#">Something else here</a> </li>
    <li class="divider"></li>
    <li><a href="#">Separated link</a> </li>
  </ul>
</div><!--Container closed-->

CSS

CSS

.dropdown-container {
  position: relative;
}

.dropdown-menu {
  position: absolute;
  top: 100%; /* Bottom of button */
  right: 0;
  margin-left: -100px; /* More to the left */
}