2012-03-28 73 views
25

我與我的Twitter引導模式有問題:它在我的表單前面打開。我不知道我做了什麼,因爲3天前它工作得很好。我可以寫在表格上;我認爲該表格正在工作。問題是表單前面的模式打開。Twitter引導模式在表格前打開

http://dl.dropbox.com/u/41175751/Screen%20Shot%202012-03-28%20at%2012.04.11.png

+0

粘貼一些代碼,以便我們可以看一看。 – 2012-03-28 15:20:23

+1

看起來像一個Z索引問題,但沒有代碼,沒有例子,它不可能說 – 2012-03-28 16:04:28

+0

我的錯,我已經修好了!謝謝 – 2012-03-29 14:57:05

回答

13

.modal-backdrop類已z索引設置爲1040和navbar-fixed-top具有z索引設置爲1030。因此,背景顯示上的形式。

通過將CSS設置爲小於navbar z-index的值,覆蓋您的CSS文件中的.modal-backdrop z-index值。這將解決問題。

+0

真棒 - 爲我節省了很多時間。 – eandersson 2012-11-05 18:51:23

+0

3個月後,這個問題,現在我爲你解決了!謝謝!!!! – Lvkz 2014-07-11 16:06:02

10

我有類似的問題。我他們在這裏解決:http://jsfiddle.net/ATeaH/8/

+4

總結此解決方案,請添加:$('。modal).appendTo('body');到你的腳本。這會將.modal(無論在何處定義)移動到.modal-backdrop由bootstrap自動生成的位置,從而製作2個元素的「兄弟」,這可以糾正z-index問題 – rmirabelle 2014-02-01 20:31:41

5

一個簡單的解決方案,尼爾森提到上述這工作對我來說...

我有div我附上我的模式,以導航欄。 我將div移到了導航欄之外 - 剛好在<body>

問題解決了!

0

我遇到了類似的問題,通過AJAX將模式插入到DOM中。沒有頁面刷新,模態仍然在掩碼後面,無法訪問。

有趣的是,模式工作正常,刷新頁面。儘管我使用AJAX將模式插入到與AJAX相同的位置,但它不適用於AJAX。我的修復是將模態部分附加到身體上。所以我的代碼爲以下幾點:

$('body').append(....j render partial....); 

我嘗試一些我遇到了其他的建議(如調整的z-index),但並沒有在我的情況有所幫助。

0

我有這個相同的問題。在我的情況下,這是由於我的標題中有一個未公開的div。

0

嘗試這種解決方案,它爲我工作:

$('#myModal').appendTo("body").modal('show'); 
0

我與AngularJS工作,遇到同樣的問題。爲了澄清,我的模態是在運行時通過ng-view Angular注入DOM的另一個HTML文件。導致這個問題的原因是我在我的ng-view所在的div上有一個css動畫類。舉個例子:

<div ng-app="myApp"> 
    <div class="pageTransition" ng-view></div> <!-- problem: class="pageTransition"--> 
</div> 

刪除的CSS類固定的問題,並恢復了我的情態,以正常工作秩序。解決這個問題的方法是用Angular的ng-class替換標準類。這樣,您可以在使用模式時動態添加,修改或刪除類。

0

以下添加到您的CSS

.modal-dialog { 
    z-index: 1050; 
} 
0

如果您使用SASS你可以做內部_modals以下。scss

.modal-dialog { 
    position: relative; 
    z-index: $zindex-modal-background; // copy-pasted z-index from .modal-backdrop 
    width: auto; 
    margin: 10px; 
}