首页  >  文章  >  web前端  >  详解HTML浮动和清除浮动

详解HTML浮动和清除浮动

高洛峰
高洛峰原创
2017-03-11 11:52:293036浏览

本文主要对页面中浮动与清除浮动进行了概述,并举例说明,具有一定的参考价值,下面跟着小编一起来看下吧

一、float:主要目的是为了实现文本绕排图片的效果。

           也成了创建多栏布局最简单的方式。


<img src= “ ” />
<p>文本内容段落内容文本内容段落内容文本内容段落内容文本内容段落内容文本内容段落内容</p>

【1】文本绕排图片


  P {margin: 0; border: solid 1px;}
  img {float: left;}

【2】创建多栏布局


  P {margin: 0; border: solid 1px; width: 200px; float: left;}
  img {float: left;}

 二、浮动元素脱离了文档流,其父元素也看不到他了,因为也不会包围他,就会出现子元素有高度,而父元素不会被撑起,这时候并非我们想要,

下面有三种方法解决,请审时度势合理应用:


<section>
<img src=" />
<p>这是段落这是段落这是段落这是段落这是段落这是段落这是段落</p>
</section>
<footer>这是底部这是底部这是底部这是底部这是底部这是底部这是底部</footer>


section , footer {border: solid 1px;}
img {float: left;}

【1】为父元素添加 overflow: hidden;强制父元素包围浮动元素

这样声明的真正用途是 防止父元素被超大内容撑开,应用overflow: hidden之后,父元素依然保持其设定的宽度,超大的子内容会被容器剪切掉

除此之外,overflow: hidden还有另外一个作用,即它能可靠地迫使父元素包含其浮动子元素。

不能在使用下拉菜单的顶级元素上使用,否则作为其子元素的下拉菜单就不会显示了。

【2】同时浮动父元素, 宽度100%与浏览器宽度同宽, 给footer设置清除浮动,使footer不会挤到section旁边去


  section {border: solid 1px; float: left; width:100%}
  footer {border: solid 1px; clear: left}
  img {float: left;}

不能在靠外边距自动居中的元素使用。否则不再居中。

【3】添加非浮动的清除元素(伪元素)


.clearfix: after {
  content: "";
  display: block ;
  height: 0
  visibility: hidden;
  clear : both
}

三、没有父元素时,如何清除(img p 作为一组 ,没有父元素)


<section>
  <img src=" />
  <p class="clearfix">文本内容段落内容文本内容段落内容文本内容段落内容文本内容段落内容文本内容段落内容</p>
  <img src=" />
  <p class="clearfix">文本内容段落内容文本内容段落内容文本内容段落内容文本内容段落内容文本内容段落内容</p>
  <img src=" />
  <p class="clearfix">文本内容段落内容文本内容段落内容文本内容段落内容文本内容段落内容文本内容段落内容</p>
</section>


.clearfix: after {
  content: "";
  display: block ;
  height: 0
   visibility: hidden;
  clear : both
}

以上是详解HTML浮动和清除浮动的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn