核心提示:手机键盘唤起后,页面的 fixed 元素将失效(即无法浮动,也可以理解为变成了 absolute 定位),所以当页面超过一屏且滚动时,失效的 fixed 元素就会跟随滚动了。虽然引用 isScroll...
手机键盘唤起后,页面的 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{ <span style="white-space:pre"> </span> 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>