javascript - Setting width of an inner div to the width of the container -
i trying modify bootstrap css, want .dropdown-menu expand full width of container, setting width:100% sets width parent width. tried using jquery , works menus increase don't fit container. how fix such each dropdown menu has same width , fits whole container left right? jsfiddle
jquery
$(window).bind("load resize", function(){ $('.extend').width($('.container').width()); }); html
<div class="container"> <!-- static navbar --> <nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> <span class="sr-only">toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">dropdown <span class="caret"></span></a> <ul class="dropdown-menu extend"> <li><a href="#">action</a></li> <li><a href="#">another action</a></li> <li><a href="#">something else here</a></li> <li role="separator" class="divider"></li> <li class="dropdown-header">nav header</li> <li><a href="#">separated link</a></li> <li><a href="#">one more separated link</a></li> </ul> </li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">dropdown <span class="caret"></span></a> <ul class="dropdown-menu extend"> <li><a href="#">action</a></li> <li><a href="#">another action</a></li> <li><a href="#">something else here</a></li> <li role="separator" class="divider"></li> <li class="dropdown-header">nav header</li> <li><a href="#">separated link</a></li> <li><a href="#">one more separated link</a></li> </ul> </li> </ul> </div><!--/.nav-collapse --> </div><!--/.container-fluid --> </nav> </div> <!-- /container -->
$(window).bind("load resize", function(){ adjust(); $('.extend').width($('.container').width()); }); function adjust(){ $('.dropdown-toggle').each(function(){ var left = ($('body').width()-$('.container').width())/2; $(this).parent().find('.dropdown-menu').css('margin-left','-'+($(this).offset().left-left)+'px'); }); } adjust(); please try out. here working fiddle.
Comments
Post a Comment