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:5px solid gray;background-color:#fff;}
2 .div1{float:left;height:100px;width:100px;background-color:lightgray;}
3 .div2{float:left;height:100px;width:100px;background-color:skyblue;}
4 .div3{float:left;height:100px;width:100px;background-color:red;}

可以看到外层wrap div的高度并没有撑起来,这是因为内层元素浮动脱离了文本流而导致的,这时我们就需要清除浮动。下面介绍清除浮动的三种常用方法。

1.在最后一个内层元素后面添加空元素,使用clear:both

1 <div class="wrap">
2     <div class="div1">1</div>
3     <div class="div2">2</div>
4     <div class="div3">3</div>
5     <div class="clear"></div>
6 </div>
1 .clear{clear:both;}

2.给外层元素添加overflow:hidden或者auto属性。

1 .wrap{
2     overflow:auto;
3     zoom:1;/*处理兼容性问题*/
4 }

3.给外层元素添加伪元素after,利用after模拟创建元素div.clear。(推荐使用,可以作为公共样式)

1 <div class="wrap clearfix">
2     <div class="div1">1</div>
3     <div class="div2">2</div>
4     <div class="div3">3</div>
5 </div>
 1 .clearfix{
 2     zoom:1;/*处理ie兼容问题*/
 3 }
 4 .clearfix:after{
 5     display:block;
 6     visibility:hidden;
 7     content:‘.‘;
 8     clear:both;
 9     height:0;
10     overflow:hidden;
11 }
时间: 2024-10-12 16:08:19

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清除浮动方法小结

清除浮动其实主要解决的就是高度塌陷问题,具体在此不再赘述~~~那些年我们一起清除过的浮动(大佬博客,写的挺不错) 方法小结: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清除浮动的方法总结

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

css 清除浮动的各种方法

1.为什么要清除浮动 在网页中,DIV一般都是嵌套的,外面称为窗口,里面的DIV存放内容,如果不浮动的话,如下面这段代码<div style=”background:#ccc;”> <div style=”float:left; width:30%; height:40px;background:#333; “> Content here</div> </div>本来我们期望看到的是,外面背景为#ccc的层包含了里面背景为#333的层,但实际上,外面的层在显

css清除浮动各方法与原理

说到清除浮动的方法,我想网络上应该有不下7,8的方法,介绍这些方法之前,想下为什么清除浮动? 再次回到float这个属性,浮动元素(floats)会被移出文档流,不会影响到块状盒子的布局而只会影响内联盒子(通常是文本)的排列. 这就产生了一个问题:浮动元素所在父元素不会自动伸长以便闭合浮动元素,任其“红杏出墙”,这显然不符合我们的“伦理观”,所以要“抓回来”施以家法:那么如何抓呢? 提起css,提起(x)html,首先进入脑海的是楚楚动人的页面吗?不,首先应该是这楚楚动人的页面的背后的“楚楚冻人

css清除浮动float的三种方法总结【转载自https://my.oschina.net/leipeng/blog/221125】

摘要: css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?     一.抛一块问题砖(display: block)先看现象: 分析HTML代码结构: <div class="outer">     <div class="div1">1</div>     <div class="div2">2</div>     <div class="div3