Bootstrap框架中下拉選單預設是左對齊,如果你想讓下拉選單相對於父容器右對齊時,可以在“dropdown-menu”上新增一個“pull-right”或者“dropdown-menu-right”類名。
<h4>使用pull-right類使下拉選單與父容器右邊對齊</h4> <div class="dropdown"> <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown"> 下拉選單 <span class="caret"></span> </button> <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="dropdownMenu1"> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉選單項</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉選單項</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉選單項</a></li> <li role="presentation" class="divider"></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉選單項</a></li> </ul> </div> <br /> <br /> <h4>使用dropdown-menu-right類使下拉選單與父容器右邊對齊</h4> <div class="dropdown"> <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown"> 下拉選單 <span class="caret"></span> </button> <ul class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="dropdownMenu1"> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉選單項</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉選單項</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉選單項</a></li> <li role="presentation" class="divider"></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉選單項</a></li> </ul> </div> <br /> <br /> <h4>下拉選單與父容器左邊對齊</h4> <div class="dropdown"> <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown"> 下拉選單 <span class="caret"></span> </button> <ul class="dropdown-menu dropdown-menu-left" role="menu" aria-labelledby="dropdownMenu1"> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉選單項</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉選單項</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉選單項</a></li> <li role="presentation" class="divider"></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉選單項</a></li> </ul> </div>
與此同時,還有一個類名剛好與“dropdown-menu-right”相反的類名“dropdown-menu-left”,其效果就是讓下拉選單與父容器左邊對齊,其實就是預設效果
這裡有個問題,如果右邊對齊雖然設定了樣式,但是很容易出現樣式混亂,下拉選單的位置是有 <div class="dropdown">的寬度來決定的,所以在不同的解析度下會有所不同。
這裡解決方式一種是固定div的寬度,還有一種就是Button 放到右邊