IOS 对iframe 中fixed无效,对应的解决footer和header的定位

来源:互联网 发布:sql中使用sql prompt 编辑:程序博客网 时间:2024/06/05 00:13
              html{      height: 100%;    }    * {      margin: 0;      padding: 0;      -webkit-tap-highlight-color: rgba(0,0,0,0);      box-sizeing : border;    }    img{      display:block;    }    .foot{position:absolute;left:0;height:2.13rem;line-height:2.13rem;width:100%;bottom:0;}    .btn_div{      background: url(../../img/btn_bg.png) no-repeat center;      background-size: 100% 100%;      width: 100%;      position: absolute;      bottom: -1px;      box-shadow: 0 0 0 #fff, 0 0 0.4rem rgba(0,0,0,0.3), 0 0 0 #fff, 0 0 0 #fff;    }  


想要实现的是将按钮定位在页面最下方,不随着页面的滑动而滑动。
本来是使用的正常的fixed定位,在电脑上、手机上都是正确的,但是在IOS手机不行,就一直在整个页面的最下面,没有实现定位。


在网上找了很多方法,对应的会出现更多的问题。
后来灵思一动,大概思路为:
将body 的高度设置为屏幕的高度,里面分成两个模块,一个模块放置滑动的内容,一个模块放置需要定位的按钮。是用position:absilute;定位,将按钮定位在整个屏幕的最下面。代码如下:


但是新的奇葩问题出现了:(后期证明奇葩问题一个接一个)

1,对设置为overflow:scroll 的IOS手机,出现滑动不流畅,手势离开屏幕,滑动立马停止,不会多走一步。

在网上找了一下原因,发现这个问题特别多,解决方案就是:-webkit-overflow-scrolling: touch;
问题解决到时解决了,但是引起的第二个奇葩问题。
2,经过按钮跳转第三个页面之后,第三个页面完全卡死,页面上的事件全部不能点击或者操作,发现就是这个-webkit-overflow-scrolling引起的,具体的原因和解决暂时不知。

劝:
大家在用iframe时,不要用fixed,用fixed不要用iframe,坑啊!!!