position:absolute 与overflow:auto的奇葩组合

问题:
 
       平常我们大多数做移动端开发,会有只占一屏且不滚动的页面,css属性设置 width:100%,height:100%,或者(width:100vw; height:100vh),
      经常头部 +内容 +底部,这样三栏的经典布局,然后内容超过一定高度之后,设置overflow:auto,内容自适应滚动,
      但是如果其子元素里面设置了position:absolute,且没有left right top bottom值,且祖父级没有relative相对定位,那么此时会出现内容超过height:100vh的bug,
        小伙伴们是不是也经常遇到这种问题。
      
 
解决方法:
  1. 给其父元素设置 relative
  2. 给自身absolute的定位设置  top:0,  left:0;
  3. 给body设置overflow:hidden,因为此时此刻的absolute是相对于body的定位,且不受父级的overflow控制,受body的overflow控制。
posted @ 2020-07-20 15:12  贪玩玩的小狮子  阅读(87)  评论(0编辑  收藏  举报