CSS清除浮动float的两种方法(可加额外元素div可不加)

亮术网 2017-04-10 本网原创

  用 CSS 修饰网页少不了要使用浮动(float),用浮动往往会出现一个问题:上一行的浮动影响下一行,即下一行显示到上一行的右边(float:left 的情况下),这个时候就要清除浮动,以使下一行正常显示到上一行的下面。

  一般来说,CSS清除浮动的方法有两种,一种方法是在浮动层的下面额外加元素div专门清除浮动,另一种是不有用额外加div,直接在CSS中定义好就不会出现下一行显示到上一行右边了。

 

  一、CSS清除浮动方法一:加额外元素div

  html代码:

  <ul type="floatTest"><li>CSS清除浮动方法一:加额外元素div</li><li>float:left</li></ul>
  <div>未清除浮动,显示到上一行右边</div>

  CSS样式:

  .floatTest{margin:6px;} .floatTest li{float:left; margin-right:10px; list-style:none;}

  由于 ul 的 li 在 CSS 中设置了左边浮动,所以 div 会浮动到 ul 的右边,与要求显示在 ul 的下边不符,这就要求清除 li 的浮动对它的影响,只需加一个清除浮动的div即可。

 

  html代码修改为:

  <ul type="floatTest"><li>CSS清除浮动方法一:加额外元素div</li><li>float:left</li></ul>
  <div class="clear"></div>
  <div>浮动被清除</div>

  CSS样式加添:

  .clear{clear:both;}

  这样浮动被清除,div显示到 ul 的下面,满足要求。

 

 

  二、CSS清除浮动方法二:不需加额外元素div

  html代码:

  <ul type="floatTest"><li>CSS清除浮动方法二:不需加额外元素div</li><li>float:left</li></ul>
  <div>用 overflow:hidden 清除浮动</div>

  CSS样式加添:

  .floatTest{margin:6px; overflow:hidden;} .floatTest li{float:left; margin-right:10px; list-style:none;}

  在 ul 的 CSS 样式中加了 overflow:hidden,div 就不会浮动到 ul 的右边,正常显示下 ul 下面。这种方法比第一种方法好,不需要额外加 div。

本文浓缩标签:float清除浮动CSS