欢迎各位兄弟 发布技术文章
这里的技术是共享的
html:
父元素的高度为0,子元素完全脱离了父元素,原因是:绝对定位的元素脱离了文档流,而高度自适应的前提是文档流布局,脱离文档流的子元素是不会参与高度计算的。
后来修改了代码,将子元素的绝对定位,改为相对定位,子元素没有脱离文档流,父元素根据子元素的高度(margin+padding+border+height)来计算自己的高度,但是依旧发现子元素仍由一部分超出在父元素之外,怎么办呢?
后来我试着给父元素加上padding-bottom,值就是子元素相对定位设置的top,例如.c 的top为10px,最后的结果就是可以自适应(两个div底沿对齐)。
父元素高度设置为空或者auto即可,如height:auto或者不要height;,举例如下: 1.高度采用auto; <div style="height:auto;width:800px;"> <div style="width:780px;margin:0 auto; height:1000px;"> 这里是子集内容,子集内容采用的是宽度780px,高度1000px,并且居中对齐; </div> <p>这是父级内容,宽度为800px,高度自适应</p> </div> 2. 高度不设置;如: <div style="width:800px;"> <div style="width:780px;margin:0 auto; height:1000px;"> 这里是子集内容,子集内容采用的是宽度780px,高度1000px,并且居中对齐; </div> <p>这是父级内容,宽度为800px</p> </div>