2014-10-03 133 views
1

在Safari,當父元素具有overflow-y設置爲auto,它把作爲overflow-xscrollvisible當一個孩子元件具有固定的位置。有沒有解決這個問題的方法?請參閱本jsFiddle溢出-γ:父元素自動隱藏子帶位置固定

.flyout{ 
    position: fixed; 
    //this doesnt display 
} 

.parent{ 
    overflow-y: auto 
} 

的彈出元素是不是在Safari中可見,而它仍然是在鉻可見,而Firefox

+1

所以,我理解你的問題,但我要問:你爲什麼要使用位置:固定在這種情況下?位置:固定用於相對於視口(窗口)定位元素。如果是這樣的話,爲什麼重要的是它是任何東西的孩子?如果您打算使用position:fixed,請將其從容器中取出。如果您想將其相對於容器放置,請使用position:absolute代替。 – 2014-10-03 18:09:56

+0

請注意,如果您嘗試了我認爲您嘗試的做法,則可能需要更改您的設計,這是因爲W3C規範中的溢出問題。見:http://stackoverflow.com/questions/6421966/css-overflow-x-visible-and-overflow-y-hidden-causing-scrollbar-issue – 2014-10-03 18:20:17

+0

我看到這個相同的問題,它真的成爲一個問題當嘗試添加/刪除基於響應移動設備中的斷點的固定位置時。 – Jason 2015-03-06 02:21:15

回答

0

http://jsfiddle.net/magicdawn/vt1cweyx/10/

  • 刪除overflow從包裝
  • 添加相關內容height & overflow-y給一個直接的孩子

由於overflow-x: visibleoverflow-y: scroll在safari中表現很奇怪,所以我們將它們分成2個元素。

  • 頂部包裝.parent處理overflow-x: visible
  • 內部元件.menu處理overflow-y: scroll
相關問題