問題描述

我正在開發一個引導站點,並從 2.0 之後更新到 bootstrap 2.2,除了 popover 之外,所有工作都有效。

popovers 仍然顯示良好,但它們不會顯示在所有其他元素之上。

<div> // this sits on top of the popover. this did not happen before cleaning up scripts.
     <div>  //popover shows on top of this
          <div> //popover shows on top of this
               //link here with popover in it.
          </div>
     </div>
</div>

任何人都知道為什麼 popover 的行為改變了,或者我如何解決它?謝謝。

最佳解決方案

我能夠透過在 html 元素上設定 data-container="body"來解決問題

HTML 示例:

<a href="#" data-toggle="tooltip" data-container="body" title="first tooltip">
    hover over me
</a>

JavaScript 示例:

$('your element').tooltip({ container: 'body' })

從此連結發現:https://github.com/twitter/bootstrap/issues/5889

次佳解決方案

這是為我工作

$().popover({container: 'body'})

第三種解決方案

我只是有一個這樣的情況,涉及啟用滾動的 DataTables JQuery 庫。

原來與 Z-indices 沒有任何關係,但是其中一個包含 CSS overflow 屬性的 div 設定為隱藏。

我透過向我的元素新增一個事件來觸發 popover 來修復它,這也改變了負責的 div 的 overflow 屬性為 visible 。

第四種方案

最可能的原因是在 popover 上顯示的內容有更高的 z-index 。沒有準確的程式碼/樣式,我可以提供兩個選擇:

您應該嘗試使用 Web 檢查器 (通常在最喜愛的瀏覽器上使用 F12) 精確確定元素,並檢查其實際的 z-index

如果找到該值,則可以將其設定為低於預設為 z-index: 1010; 的 popover


或者另一種方法,不是那麼好,將會增加 Popover 的 z-index 。您可以使用 @zindexPopover 在 Less 檔案中或直接透過覆蓋

.popover {
    z-index: 1010; /* A value higher than 1010 that solves the problem */
}

如果找不到解決方案,您應該嘗試在 this jsfiddle 中重現錯誤 – 您可能會在嘗試獲取錯誤時解決問題。

第五種方案

我有一個類似的問題與 2 個固定元素 – 即使 z-index heirachy 是正確的,引導工具提示隱藏在一個元素的下面的 z-index 之後。

新增 data-container="body"解決了這個問題,現在正常工作。

第六種方案

如果 data-container = “body” 不能嘗試其他兩個屬性:

data-container="body" style="z-index:1000; position:relative"

z-index 應該是最大限度。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇