【发布时间】:2014-12-29 13:23:33
【问题描述】:
我只在 Safari (6.1 os x) 中看到这个问题
当父元素设置为position:fixed; overflow:hidden,子元素设置为position:fixed,部分元素溢出父元素时,会被截断。
在 Chrome 和 Safari 中查看这个 jsfiddle 以了解我的意思:http://jsfiddle.net/y2dg65y7/3/
<div class="wrapper">
<div class="inner">
Why is cut off in Safari?
</div>
</div>
.wrapper {
position: fixed;
overflow: hidden;
width: 200px;
height: 400px;
background-color: red;
}
.inner {
position: fixed;
top: 50px;
left: 40px;
width: 400px;
height: 200px;
padding: 20px;
background-color: silver;
}
这是 Safari 中的错误吗? 有任何想法吗?解决方法?
【问题讨论】:
-
似乎是 Safari 中的一个错误。固定位置始终是相对于视口的,因此绝不应该被父级截断。
-
Drat - 我想我会破解一些 .js 来破解它的工作。谢谢。
-
阅读此yuiblog.com/blog/2010/09/27/… 后,我不太确定我的其他评论是否正确。解决方法是给父母一个不同的
position,但这取决于你想要实现的目标。 -
对于未来的 Google 员工来说,这仍然是一个悬而未决的问题。 翻白眼见bugs.webkit.org/show_bug.cgi?id=160953
-
2020 年更新:这仍然是一个悬而未决的问题。似乎 Safari 是新的 IE
标签: css safari overflow hidden fixed