2012-04-30 13 views
3

我創建了一個在懸停時生長的框。 盒子裏面有一個縮略圖,它是position:absolute,比父盒子大。絕對定位的子元素在父容器的動畫過程中被剪裁

當我爲父容器的寬度或高度設置動畫時,縮略圖會被裁剪爲父級的大小,但僅在動畫期間裁剪。

在這裏看到一個簡單的演示(在Chrome/Safari瀏覽器/ FF測試在Mac): http://jsfiddle.net/Q2BPx/3/

我在做什麼錯?

+1

這是預期的,因爲jquery會設置overflow-x:hidden;溢出-y:隱藏'在動畫中。 – Yoshi

回答

5

我不知道你是在做任何「錯誤的」本身。

當animate方法運行時,jQuery使用內聯樣式爲動畫的每個幀設置寬度。它還將「overflow:hidden」樣式添加到內聯樣式中。

您可以通過添加以下內容來破解擴展器的css:overflow:visible!important;

這樣可以防止內聯溢出:隱藏不起來縮小您的縮略圖。

但是,您可能需要查看jQuery代碼,以瞭解animate使用溢出設置的原因。或者,至少測試一下你的頁面,以確保你沒有通過溢出引入異常:visible!important;

+0

謝謝。哇,這似乎是一個在jQuery中的錯誤。我確信他們有這樣做的理由,但沒有在代碼中記錄。 https://github.com/jquery/jquery/blob/master/src/effects.js#L214 –

相關問題