清除浮动

1 <ul>
     <li></li>
     <li></li>
     <li></li>
       <li></li>
</ul>

上例,一个ul有多个li,平时工作中基本上回用到左浮,而ul的高度一般是由li的高度撑起的,此时,如果ul不设固定高度,则li左浮动之后,ul的高度为0.所以这个时候就要用overflow:hidden,浏览器会自动检查浮动区域的高度 所以ul的高度会等于最高的li的高度。

<div class="keepbj">
  <div id="div1">我会在左边</div>
  <div id="div2">我会在右边</div>
  <div id="div3"></div>
</div>

外壳.keeppbj不设高度,内容主要是div1和div2,左右浮动之后,keepbj为了得到高度,需要在最后一个div后面加一个空div加上clear:both,此时,keepbj就能得到浮动区域的高度了。(原理:添加一个空div,利用css提高的clear:both清除浮动,让父级div能自动获取到高度 )

3

<ul>
     <li></li>
     <li></li>
     <li></li>
       <li></li>
</ul>

同1,父级div加overflow:auto,浏览器会自动检查浮动区域的高度 所以ul的高度会等于最高的li的高度。

4 父级div 也一起浮动

原理:所有代码一起浮动,就变成了一个整体 ,不建议使用,会产生其他问题。

 

posted @ 2017-06-07 15:04  伊优  阅读(160)  评论(0编辑  收藏  举报