问题描述:
父元素position:relative ;子元素是position:absolute;父元素高度塌陷
产生原因:
position:absolute会脱离标准流,所以父元素无法自适应子元素高度,
解决办法:
1.将子元素的position:absolute,换成relative,因为position:relative不会造成元素脱离标准流。此时父元素就可以随着子元素自适应高度了。
2.如要绝对定位还能撑开父元素,只能通过JavaScript实现:获取到绝对定位的子元素的高度,再设置给父元素。
3.用 float: left / float:right 还有 margin 来调整位置,子元素再通过父元素设置的overflow:hidden来撑开父元素。
CSS 相对|绝对(relative/absolute)定位系列(一) « 张鑫旭-鑫空间-鑫生活https://www.zhangxinxu.com/wordpress/?p=1287