一直以为,元素设置绝对定位后,会脱离文档流,从而不会影响其相对定的父元素的布局,其实不然 当父元素设置overflow: auto;时,如果该元素高于父元素的高度,父元素会出现滚动条.
查阅相关文档未果,只看到一位网友的留言相对符合逻辑,他是这样描述的:"它脱离了这个祖先内的文档流 但脱离不了这个祖先"
既然没有官方文档支持,只能先记录下测试结论:绝对定位元素脱离了文档流,但仍隐性的占据'文档空间',当它所依赖定位的父元素(或该父元素的父级)有overflow: auto;或overflow: hidden;时,它便占据了'文档空间',当父级不足以容纳这个空间时,会出现滚动条或隐藏超出的'文档空间'
突然想到element、antd等组件库的下拉框,浮动框等都是基于body定位的,以前不知原因,想必就是这个原因了