手机键盘唤起后,页面的 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>
来源: https://www.2cto.com/kf/201711/696816.html