CSS--清除浮动方法详解

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

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属性会不会被放弃,还值得考量,因此还是推荐方法二吧

时间: 2024-08-03 15:11:09

CSS--清除浮动方法详解的相关文章

CSS清除浮动方法集合

CSS清除浮动方法集合 一.浮动产生原因   -   TOP 一般浮动是什么情况呢?一般是一个盒子里使用了CSS float浮动属性,导致父级对象盒子不能被撑开,这样CSS float浮动就产生了. 浮动产生样式效果截图 本来两个黑色对象盒子是在红色盒子内,因为对两个黑色盒子使用了float浮动,所以两个黑色盒子产生了浮动,导致红色盒子不能撑开,这样浮动就产生了. 简单地说,浮动是因为使用了float:left或float:right或两者都是有了而产生的浮动. 二.浮动产生负作用   -   

DIV+CSS清除浮动方法

一.为什么要清除浮动? 1>父元素在未定义高的情况下,由于子元素全部浮动脱离文本流,而造成父元素高的塌陷(正常情况下,父元素的高是由未浮动的子元素撑起来) 2>因为部分子元素的而浮动,脱离文本流而造成其他元素的布局错乱. 二.常见的几种清除浮动方法 1>给没有浮动的子元素的CSS添加 clear: both;或新增加一个空的子元素,并且给其的CSS添加 clear: both;这样可以利用清除左右浮动的子元素重新撑起父元素的高,从而达到清除浮动的效果.(关键字:未浮动子元素添加clear

通俗易懂的CSS的浮动float详解

目录: 1. CSS浮动属性float详解 2. CSS常见页面布局 3. CSS浮动清除和清除浮动的几种方法 4. 高度塌陷的产生条件和解决方法 ## CSS浮动属性float详解 *首先,我们需要了解什么是浮动?浮动是指(浮动的特点):- 将元素排除在普通流之外,即元素将脱离标准文档流.- 元素将不在页面占用空间.- 将浮动元素放置在包含框的左边或者右边.- 浮动的框可以向左或者向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止.- 经常使用它来实现特殊的定位效果. float的属性

CSS清除浮动方法

HTML结构 1 <div class="wrap"> 2 <div class="div1">1</div> 3 <div class="div2">2</div> 4 <div class="div3">3</div> 5 </div> CSS样式 1 .wrap{margin:10px;padding20px;border:5

css清除浮动方法小结

清除浮动其实主要解决的就是高度塌陷问题,具体在此不再赘述~~~那些年我们一起清除过的浮动(大佬博客,写的挺不错) 方法小结:1. 1)添加额外标签 这是在学校老师就告诉我们的 一种方法,通过在浮动元素末尾添加一个空的标签例如 <div style=”clear:both”></div>,其他标签br等亦可. <div class="main left">.main{float:left;}</div> <div class=&quo

推荐使用的CSS清除浮动方法

父级div定义 伪类:after原理:IE8以上和非IE浏览器才支持:after,zoom(IE转有属性)可解决ie6,ie7浮动问题 <style type="text/css"> .div1{background:#000080;border:1px solid red;} .div2{background:#800080;border:1px solid red;height:100px;margin-top:10px} .left{float:left;width:

CSS清除浮动方法总结

<div id="wrapper">         <div id="content1"></div>         <div id="content2"></div>         ......     <div> 1.    包含元素#wrapper {overflow:hidden;}(包含元素内的内容overflow时,无法显示) 2.    包含元素跟所包含的

Css学习之清除浮动的方法详解

本文和大家分享的主要是css中浮动清除相关内容,一起来看看吧,希望对大家学习css http://www.maiziedu.com/course/web/有所帮助. 当容器的高度为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象.这个现象叫浮动溢出,为了防止这个现象的出现而进行的CSS处理,就叫CSS清除浮动. #div { background-color: blu

css清除浮动的方法总结

在各种浏览器中显示效果也有可能不相同,这样让清除浮动更难了,下面总结8种清除浮动的方法,测试已通过 ie chrome firefox opera,需要的朋友可以参考下 清除浮动是每一个 web前台设计师必须掌握的机能.css清除浮动大全,共8种方法. 浮动会使当前标签产生向上浮的效果,同时会影响到前后标签.父级标签的位置及 width height 属性.而且同样的代码,在各种浏览器中显示效果也有可能不相同,这样让清除浮动更难了.解决浮动引起的问题有多种方法,但有些方法在浏览器兼容性方面还有问