2013-04-17 66 views
0

我使用引導程序行,併爲它提供更多的跨應用程序,因爲我發現這有助於在保持響應能力的同時獲得良好的網格工作。當孩子被授予絕對位置時,引導程序跨度崩潰

每個元素有一個孩子,並且被使用jQuery示出的元件,這樣的:

<div class="row"> 

<div class="span2"> 
    <div class="inner-element"> 
     Content here 
     <div class="hidden-element"> 
       More content here 
     </div> 
    </div> 
</div> 
... 

</div> 

當內部.span2某個按鈕被點擊時,.hidden-element DIV生長與slideDown();和內元件得到一個position:absolute CSS,以便它覆蓋下面的跨度並且不會改變網格。

這樣的設置,當它在這不是在頁面的最右邊的角落(在.row的角落)

您可以在此jsFiddle例子來看看這個問題.span2元素的完成工作完全正常。您可以看到,單擊「Example#1」時可以正常工作,不會摺疊父元素,而單擊「Example#2」會使.span2元素摺疊,使下一個.span2元素跳起一行。

這是什麼原因,我該如何解決它?

回答

1

顯然問題出在.span2元素的height屬性崩潰。在動畫之前通過JavaScript綜合地設置高度可以做到這一點,如this jsFiddle example所示。因此,做動畫的正確方法是:

var box = item.closest('.span2'); 

在開:

box.css("height", box.height()+"px"); 

在接近:

box.css("height", "auto"); 

這迫使父元素有一個固定的高度,而不是崩潰。