2013-10-14 138 views
3

我有一個DOM元素,我translateX()到一些新的位置。firefox css3翻譯元素與溢出隱藏元素消失

在Firefox中,只要翻譯發生,該元素就會消失。經過大量的調試後,似乎只有當通過某個動作將元素動態應用到元素時,纔會發生這種情況,元素最初呈現後(如果css存在於頁面加載中,則不會發生),只有當translateX值爲大於元素寬度!此外,只有當dom元素具有「overflow:hidden」時纔會發生這種情況。

所以,如果我有一個200像素框:

#box { width: 200px; overflow: hidden; } 

如果我翻譯爲199px,它完美的作品:

$('#box').css('transform', 'translateX(199px)') 

但是,如果我翻譯成200像素,該框移動到新位置,然後一個第二後消失

$('#box').css('transform', 'translateX(200px)') 

這裏是一個的jsfiddle:http://jsfiddle.net/vtkmZ/3/

  • 僅Firefox
  • 只有當DOM元素具有溢出:隱藏
  • 只有在翻譯之後的動態應用第一渲染
  • 只有當平移X()值是比元件寬度大

這種情況一致。任何想法爲什麼發生這種情況,以及任何解決方法?我無法在網上找到任何東西。這是一個已知的錯誤?

+0

檢查此鏈接: http://stackoverflow.com/questions/15405054/firefox-mobile -element-animated-with-translate3d-flows-out-from-parent-containe – user1386213

+0

我在Mac Chrome 36.0,Safari 7.0和Firefox 30.0之間的行爲沒有發現任何差異。 – jtheletter

回答