Safari6.1隐藏内部div,当外部div的位置为fixed,溢出为auto时



Safari似乎在某些情况下更改了对父对象之外的子对象的渲染。

设置:

  • 具有position:fixedoverflow:auto的父(#outer)div
  • 具有position:fixed并位于父级之上或之下的子级(#inner)div

示例:http://jsfiddle.net/2tp9R/

我只能在野生动物园6.1中复制这个。Firefox、Chrome和IE将孩子渲染为safari过去的样子。

问题:如何解决此问题?

p.S.危险边缘-ish问题。

解决方案

如果overflow:auto被移除或者fixed被改变为absolute,则显示子级。

示例:http://jsfiddle.net/5kfbe/

不过,这可能无法解决所有情况下的问题,例如,当您需要在父div上设置overflow:autoposition:fixed时。有人有更好的解决方案吗?

最新更新