在不使用css位置的情况下将div固定到底部

Cli*_*een 5 css css-position mobile-safari ios8

position: fixed;在IOS8 Safari上遇到问题.我已经确定它与我在页面底部定位的页脚div有关.我也尝试过,position: absolute;但也没用.

有没有人知道如何在不使用CSS位置的情况下定位它?

这是我正在使用的代码:

.foot-nav{
  position: fixed;
  bottom: 0;
  width: 100%;
}
Run Code Online (Sandbox Code Playgroud)

Jas*_*don 10

你应该试试position:sticky;.这是为了处理positionSafari.fixed多年来一直是移动设备的问题.我认为这是固定的,但iOs8也有奇怪的行为......

http://updates.html5rocks.com/2012/08/Stick-your-landings-position-sticky-lands-in-WebKit


Qua*_*cal 5

iOS在固定位置方面存在问题。滑动滚动时,只有释放轻击/拖动,它才会更新固定位置。

position: fixed;技术上讲,移动Safari不会在滚动进行时重新绘制固定元素,以便正确计算过度滚动动画(拖动和释放会导致页面根据滑动速度继续滚动),因此不会t更新直到动画停止。

从理论上讲,您可以在发生拖动时使用JavaScript手动多次更新元素的位置,但这将覆盖移动Safari的默认自然行为。

如果您有兴趣,请阅读更多阅读材料和示例:http : //remysharp.com/2012/05/24/issues-with-position-fixed-scrolling-on-ios

  • jQuery mobile的方法是将非固定内容放在可滚动div内,该div从窗口顶部向下延伸到页面底部减去固定内容的高度。除此之外,滚动事件的JavaScript轮询是唯一的选择,但是,即使您要重写拖动/释放滑动效果(我尝试过),防止默认滚动事件也将阻止滚动的橡皮筋,这不能仅在JavaScript中重新模拟。 (2认同)