Safari - position:fixed不会破坏范围内的元素

时间:2014-01-26 21:52:04

标签: html css safari

我发现了与定位相关的奇怪的Safari行为。

例如:

#parent {
  position:fixed;
  overflow-x: hidden;
  height:30px;
}
#toolTip-child {
  position:fixed
  display:block;
  top:10px;
  left:16px;
  height:100px;
}

据我所知,当position设置为fixed(或绝对值,在这种情况下无关紧要)时,元素应该从范围中删除并以某种方式独立呈现。

我在上面提到的每个浏览器中都可以用来测试我们开发的网站,除了Safari之外。

在Safari中,如果父元素位于fixed并且overflow-x属性。添加,无论我如何定位子元素(position:fixedtopleft - &gt;无关紧要),如果它溢出父元素,则它不可见。< / p>

我撞墙,不知道如何强迫Safari合作。

如果您有任何想法,我们将不胜感激。

1 个答案:

答案 0 :(得分:1)

嗯,这实际上不是一个答案,因为它似乎是一个错误,但我有一个解决方法。

问题在于,当我们将overflow-x:hidden应用于元素时,在Safari中它也会获得overflow-y:hidden。我不知道为什么,但它似乎是一个普通的错误。

解决方法我想通了很简单。

单击触发器后,子元素从hidden切换到visible状态。我只是添加了两行。一个调整y维度中的父元素的大小。第二个在子元素隐藏时将其调整大小。

不是最好的解决方案,但对我来说已经足够了。