手机键盘唤起后,页面的 fixed 元素将失效(即无法浮动,也可以理解为变成了 absolute 定位),所以当页面超过一屏且滚动时,失效的 fixed 元素就会跟随滚动了。
虽然引用 isScroll.js ,或者js来解决可以的解决 fixed 定位滚动的问题,但是不在万不得已的情况下,我们尽量尝试一下不依赖第三方库的布局方案,以简化实现方式,
尽量将样式的问题交给css来解决,下面主要是用css解决这个问题。
主要是给section部分加入这段css样式:position:absolute;top:1.32rem; bottom:1.32rem;overflow:scroll;
参考代码:
html,body{
height: 100%;
}
h3,body{
margin: 0;
padding: 0;
}
#header{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 1.32rem;
background-color: rgba(0,0,0,.5);
font-size: 0.32rem;
}
#section{
position:absolute;top:1.32rem; bottom:1.32rem;overflow:scroll;
}
#footer{
position: fixed;
left: 0;
bottom: 0;
width: 100%;
height: 1.32rem;
background-color: rgba(0,0,0,.5);
}
<header id="header">
<h3>我是一个header</h3>
</header>
<setion id="section">
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
固定定位<br />
<input type="text" name="" id="" value="" />
<footer id="footer">我是一个footer</footer>
</setion>