为什么要清除浮动

一个块级元素的如果没有设置 height, 则其高度由其子元素撑开. 如果所有子元素都是浮动的(脱离标准文档流), 那么父元素就会发生”坍塌”.

两种情况

清除浮动包括清除子元素浮动和清除上级元素浮动, 如果要清除上级元素浮动, 只需要设置 clear:both 即可.
如果要清除子元素浮动, 可以用空标签法, clearfix 法或者 overflow 法.

clear 的用法
.subElement{
    clear:both;
}
`</pre>

##### clearfix(最优浮动闭合方案)

父元素添加 class=clearfix
简洁版

<pre>`.clearfix:before, .clearfix:after{
  content:"";
    display:table;
}
.clearfix:after{
  clear:both;
    overflow:hidden;
}
.clearfix{
  zoom:1;
}
`</pre>

经典版

<pre>`.clearfix:after{
  display:block;
    content:"";
    clear:both;
    height:0;
    visibility:hidden
}
`</pre>

使用时在浮动元素的父元素上添加 class="clearfix"

#### 简单的方法

<pre>`.clearfix{
  overflow:auto;
  _height:1%;
}
`</pre>

#### 常用的方法

<pre>`.clearfix{
  clear:both;
  height:0;
  overflow:hidden;
}

在需要清除浮动的地方加上一个 div.clear 或者 br.clear(不是套上)