【问题标题】:iPhone: fixed div sticks in the middle of the page when coming back by "history.back(-1)"iPhone:通过“history.back(-1)”返回时,固定 div 会停留在页面中间
【发布时间】:2025-12-23 10:15:11
【问题描述】:

在使用 iPhone 时遇到固定 div 的问题。我知道在 iOS 5 中添加了 position:fixed 的功能。我的 div 位于屏幕的顶部并且表现得很好,无论如何,滚动过程中有一些错误。

实际上让我生气的地方是——点击javascript:history.back(-1)链接回到当前页面后这个div的位置。固定的 div 粘在屏幕中间。当我尝试滑动时,它会跳回正确的位置。

有什么办法可以解决这个问题吗?

附言。有时,通过history:back 函数返回后,div 完全不可见。它在滚动后显示。在我看来有点同样的问题。

<div class='rlm fixed rlm-zindex'>
  <a href='http://webiste.com/' target='_new'>
    <img src='banner-960.png' class='jqwatch' border=0 />
  </a>
</div>

还有 CSS:

div.rlm {
            top: 0;
            left: 0;
            right: 0;
            width: 100%;
            height: auto;
            margin-bottom: 0;
            padding-bottom: 0;
            border-bottom: solid 1px;
        }

div.rlm img {
            width: 100%;
            left: 0;
            right: 0;
        }

.fixed { position: fixed; }
.rlm-zindex { z-index: 5; }

【问题讨论】:

  • 能否提供代码示例?
  • 当然。我在问题文本中添加了示例。
  • 我已在 Safari(桌面)中测试过,但无法重现该问题。只能用 iPhone 重现吗?
  • 很抱歉让您误解了我的问题。我的意思是 iPhone 上的 Safari。我已经更正了标题。

标签: javascript iphone html safari css-position


【解决方案1】:

其实好像beaBug

有一个解决方案here,但是你得把scrollto改成onload之类的……

【讨论】:

    最近更新 更多