Bootstrap中popover位置調整和使用實例

彈出框插件的簡單教程:http://www.runoob.com/bootstrap/bootstrap-popover-plugin.html  

現有一個表格,表格每一行有button,希望點擊刪除的button後出現彈出框詢問是否刪除,先上效果圖:

 

bootstrap popover插件本身提供了placement選項,可以對彈出框的顯示位置進行選擇,我這裏選的bottom:

placement string|function
默認值:top
data-placement 規定如何定位彈出框(即 top|bottom|left|right|auto)。
當指定爲 auto 時,會動態調整彈出框。例如,如果 placement 是 "auto left",彈出框將會儘可能顯示在左邊,在情況不允許的情況下它纔會顯示在右邊。

 彈出框內容設置爲:

<li><a th:href="'javascript:void(0);'" class="pop" title="確認刪除該代理?" th:onclick="'javascript:saveId(\''+${agent.id}+'\')'"
data-container="body" data-toggle="popover" data-placement="bottom" data-trigger="manual"
data-content="<button type='button' class='btn btn-danger'
onclick='deleteRequest()'>確定</button>
<button type='button' class='btn btn-default'>取消</button>">刪除</a></li>

因爲我的刪除按鈕是在下拉菜單中,我遇到的問題是,點擊刪除後,彈出框總是出現在刪除按鈕下方,希望能夠指在【更多】按鈕上,百度出來的結果是可以css設置.popover覆蓋bootstrap的默認樣式,例: http://www.php.cn/js-tutorial-410137.html 

我嘗試設置了.popover

.popover{
    top: -10px !important;
    background: red;
}

top不加 !important的話是無效的,但加了之後發現這是相對於<body>的佈局,不是相對於觸發它的按鈕。

最終發現了可以設置另一個屬性

.popover.bottom {
    margin-top: -50px;
}

彈出框順利相對於刪除按鈕上移,指向更多按鈕。

Tip:

我這裏displacement選的是buttom,所以設置 .bottom,如果是其他比如left,相應的應該設置 .popover.left

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章