【发布时间】:2013-10-19 22:36:13
【问题描述】:
我整天都在搞这个,似乎找不到解决办法。
我有一个简单的 ul,它充当具有以下 css 的固定标头:
body {
width: 100%;
height: 100%;
min-height: 100%;
}
.stream .header {
position: fixed;
width: 100%;
height: 41px;
top: 0;
right: 0;
left: 0;
z-index: 10;
margin-bottom: 10px;
list-style: none;
}
header下面的内容有如下css:
.stream .stream-content {
position: relative;
padding-top: 41px;
-webkit-transform: translate3d(0, 0, 0);
}
当页面在 ios7 mobile safari 中滚动时,会发生以下情况:
首先向下滚动 -- 标题与页面顶部一起移动,直到滚动完成。
第二次向下滚动——标题完全消失,滚动完成后不会重新出现。
向上滚动(标题仍然可见)-- 标题完全消失,到达页面顶部时不会重新出现。
向上滚动(隐藏标题)-- 标题保持隐藏状态,并且在到达页面顶部时不会重新出现。
向上滚动(已在页面顶部隐藏标题)- 标题重新出现并正常运行,直到页面向下滚动两次。
我在 iOS6 移动 safari 中没有遇到此问题,因此该问题似乎与新的 url 栏在滚动时调整大小有关。
还有其他人有类似的问题吗?欢迎提出建议。
更新:
因此,在标头的父级 (.stream) 上删除 -webkit-transform3d() 似乎可以解决问题,因此父级 div 的呈现方式与内部的标头之间肯定存在冲突。
但仍在寻找解决方法。
【问题讨论】:
标签: css scroll ios7 mobile-safari css-position