Reputation:
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.
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.
I have made a fiddle to illustrate the problem: https://jsfiddle.net/rdawkins/f7m6cv7q/8/
Upvotes: 12
Views: 20813
Reputation: 8069
The key to the solution is 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.
See an updated JSFiddle and the extra code below.
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
.dropdown-container {
position: relative;
}
.dropdown-menu {
position: absolute;
top: 100%; /* Bottom of button */
right: 0;
margin-left: -100px; /* More to the left */
}
Upvotes: 21