我遇到了一些非常奇怪的行为,并且在我测试的每个浏览器中都不一致。
我的布局相当复杂,但主要问题在这里:
<div id="drop">
<div id="header"></div>
</div>
#drop
具有position:absolute
和z-index:100
#header
具有position:fixed; top:60px;
当我开始向下滚动时,Chrome忽略了position:fixed
规则。 如果我从#drop
中删除上述任一样式,则Chrome开始遵守position:fixed
规则。
在Ubuntu Chrome 23.0.1271.97上无法正常工作,并且在Mac Chrome 25.0.1364.99上看到相同的行为。 我的朋友使用Ubuntu Chrome 25.0.1364.68 beta并且可以正常工作。 我已在firefox上进行了测试,它有点有效(伴随其他症状)
有人听说过这个错误吗? 或者有人可以重现它吗?
编辑
我正在使用openlayers地图作为另一个具有position:fixed
的div,如果我删除该图层或将其至少更改为display:none
,则此奇怪的错误就会消失。
编辑
注意到在出现这个bug的时候,如果我来回改变缩放级别,那么位置会自动调整到正确的行为。对我来说,这表明了一个webkit问题,它未能执行一些内部回调函数来滚动。
另一个极为奇怪的事情是,我在#header
中有几个链接,如果我只点击预期位置,它们就能正常工作,即使div不在那里。总的来说,我注意到只有渲染是有问题的。如果在任何时候我强制浏览器通过调整窗口大小、更改缩放比例或只是选择全部来重新渲染,则标题栏会跳到正确的位置,但不会保持固定。
top:60px;
。我会更新原始帖子。 - Mikhail