码迷,mamicode.com
首页 > Web开发 > 详细

CSS--清除浮动方法详解

时间:2016-03-26 10:50:09      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

    要清除浮动首先要弄清楚为什么需要清除浮动,如果不清除浮动会带来哪些影响

1、为何要清除浮动,由于浮动元素本身会脱离文档流,对于同级的元素而言,排在浮动元素身后的元素会占有浮动元素原有的位置;对于没有设置宽高的父级元素而言,父级元素会出现“坍塌”情况

2.了解了为何要清除浮动,下面需要对浮动元素来分一下类别;按照上面所讲,清除浮动一般分为两类:1.清除同级元素浮动,2.清除浮动对父级元素造成的影响

3.清除同级元素浮动,这个是最简单的

技术分享

 

 由上图可以看出,我给div123都加上了浮动,于是他们脱离了文档流,content没有加浮动,于是他跑到div123的底部,就造成了这个局面,那现在我不想要他处于div123的底部只需要加上

.content{ clear:both }

2.清除浮动给父级元素造成的影响

技术分享

 

上图中,我给div123加上浮动,父级仅仅加上了10px的边框,这个就造成了父级元素的塌陷,如何清除上面造成的影响

方法一、空标签法

<div style="clear:both"><div<>
<br style="clear:both"/>

以上两种方法均可,但是这个造成了一个影响,是的页面多出了几个标签,破坏页面元素的结构

方法二:after伪类方法

.box{
  content:" ";
  display:block;
  height:0;
  clear:both;
}

这样就使得父级元素再次成功包裹住了三个div,但是别忘了,IE那里还有几个爹,我们不得不写上

.box{ zoom:1 }

用来兼容IE67

方法三:overflow

.box{overflow:hidden}

这个方法同样较为简洁,也仍然被用于很多国内外的大型网站中,但是这个overflow属性会不会被放弃,还值得考量,因此还是推荐方法二吧

CSS--清除浮动方法详解

标签:

原文地址:http://www.cnblogs.com/guolz/p/5321997.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!