物理条占窗体高度(clientHeight),如何实现滑动不被遮挡

场景

有这样一个场景,一个页面,顶部有一个高度为162px和底部84px的容器做了固定定位,而这两个容器中间有一个容器,里面的内容是一个列表,要求根据内容可以实现滑动。若是用var WinHeight=document.body.clientHeight获取body窗体的高度,然后用'WinHeight'减去顶部及底部的固定高度和246px,再给列表容器加overflow:scroll,可以实现效果。

兼容问题说明

但是若是如Android手机下面有物理返回条,在计算body高度的时候会把这部物理高度包含,出现的效果:若还是减246px,就是物理条区域会遮挡底部固定区域的一部分。这样一来,有的手机的物理条,有的没有,就不好处理了。

处理方案
<div style="height:100%"> // 外层加一个div容器,设置高度为100%
    <div style="position:fixed;height:162px;width:100%;"></div> 
    <!--列表-->
    <div style="height:100%;overflow:scroll;" id="list"> // 列表容器设置高度为100%,再设置可以滚动
              <ul>
                    <li>列表内容</li>
                    ...
              </ul>
    </div>
    <div style="position:fixed;height:84px;width:100%;"></div>  
</div>   

另外加如下样式,保证顶部及底部不被挡住

    #list{padding: 162px 0 84px 0;}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,696评论 1 92
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,169评论 19 139
  • 一.首先介绍常用的属性: HTML精确定位:scrollLeft,scrollWidth,clientWidth,...
    silingling阅读 8,227评论 0 1
  • 不多废话,全篇干货。说SSR之前,先说react component的一些注意点(这能说明为啥我要这么预取): 尽...
    EagleChan阅读 4,592评论 0 0
  • 王者峡谷。 … 全军出击! 孙大小姐黑着脸拎着重弩跑的飞快,丝毫不顾及身后刘备的苦苦追赶。 “夫人!你听我解释!”...
    十七夜桜阅读 16,886评论 5 17

友情链接更多精彩内容