如果你不得不在滚动时固定元素,则可能是iOS Safari(和其他移动设备)存在问题。元素通常会闪烁,然后消失,直到滚动完全停止为止。

只需通过添加transform: translate3d(0,0,0);来强制开启GPU加速。

如果要在固定元素中设置元素的样式,则需要将transform3d hack应用于嵌套元素,以使其不会闪烁/消失。

.Element-header {
  transform: translate3d(0,0,0);
}

.Element-header--fixed {
  top: 0;
  position: fixed;
}

原文地址: https://muffinman.io/ios-safari-scroll-position-fixed/