这是一个JSFiddle:
http://jsfiddle.net/hw5Zu/
简而言之,我有一个position:fixed元素.fixedblock
具有溢出-y:自动,以便溢出的内容导致垂直滚动条。
在里面,我还有另一个位置:固定元素.insideblock
,位于.fixedblock的外围之外。 (它应该是滚动窗格上方的标题栏。)
在我测试过的所有浏览器(最新的Chrome,Firefox,IE7-10)中,.fixedblock
都是可见的。仅在Mobile Safari(iPad)上不可见(裁剪)。 (iPad上的JSFiddle并未显示问题。)
哪些浏览器在做正确的事情?任何人都可以提出修复建议吗?
最佳答案
我通过给.fixedblock
一个等于.insideblock
高度的上边距并在该边距的顶部同时将.insideblock
放在顶部:0来解决此问题。我不能使用填充,因为这会使.fixedblock
的滚动条消失在.insideblock
下面。通过使用空白,滚动条从空白开始。
在iPad上,仍然存在相同的问题,其中.insideblock
被视为位于.fixedblock
的边界之外,并且消失了。因此,我求助于用户代理检测,并且-仅对于iPad-我将上边距更改为顶部填充。在iPad上这没问题,因为它没有滚动条。