Dropdown menus work perfectly with or without the dropdown-toggle bootstrap class being applied to <button> element,so why use it in the first place?
What's the purpose of dropdown-toggle class in bootstrap dropdowns?
16.4k Views Asked by MrShabana At
3
There are 3 best solutions below
7
On
It adds the following CSS properties, but they impact when dropdown button's content is displayed:
It's basically some button inner box-shadow when .open, as well as color, background-color, border-color and outline (on :focus) removal. Here a comparison between the two:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<!-- Single button -->
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
With .dropdown-toggle <span class="caret"></span>
</button>
<ul 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 role="separator" class="divider"></li>
<li><a href="#">Separated link</a>
</li>
</ul>
</div>
<!-- Single button -->
<div class="btn-group">
<button type="button" class="btn btn-default" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Without .dropdown-toggle <span class="caret"></span>
</button>
<ul 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 role="separator" class="divider"></li>
<li><a href="#">Separated link</a>
</li>
</ul>
</div>
Difference tested in Chrome, Opera & Safari:







The
dropdown-toggleclass adds theoutline: 0;on:focusto the button, so when you click on the button it will not have the surrounding blue border of the "active" element.Check the next two bottons: