CSS实现div高度自适应

1、有时候,我们希望容器有一个固定高度,但当其中的内容多的时候,又希望高度能够自适应,也即容器在纵向能被撑开,且如果有背景,也能够自适应。在一般情况下,使用min-height即可解决。但是广大网民的首选浏览器ie6并不支持min-height。ie7,opera,火狐,谷歌没有问题。所以采用以下写法可以解决兼容性:

height:auto!important;
height:200px;
min-height:200px;

2、很多朋友反映用上面的方法后,在有些时候依然无法解决容器无法撑开自适应的问题。那一定是有容器嵌套的情况下,而子容器又是浮动的。例如:

<div class="test">
    <ul>
        <li>内容1</li>
        <li>内容1</li>
    </ul>
</div>        

其中class为test的div有浮动的li,当li比较多的时候,即便是div设置的是最小高度min-height,也无法被撑开。 原因就在于作为子容器的li是浮动的 。在这种情况下,即便是li的内容超过了div的高度,div也无法撑开。 

解决方法如下:

在浮动的容器后面,父容器结束之前加入一个div,代码如下:

<div class="test">
  <ul>
    <li>内容1</li>
    <li>内容1</>
  </ul>
  <div class="clearfloat"></div>
</div>
.clearfloat{clear:both;height:0;font-size:1px;line-height:0px;} 

这样就实现了div高度自适应。

原文地址:https://www.cnblogs.com/wbxk/p/9889304.html