CSS复习笔记二:浮动和清除浮动

 一、浮动的性质

1、浮动的元素脱离标准文档流,并且可以设置宽度和高度。

2、浮动的元素相互贴靠

3、浮动的元素有“文字环绕”效果 

        含有图片的div浮动,段落不浮动,文字会环绕图片。

4、div浮动了且没有设置宽度,那么将自动收缩为内容的宽度。

浮动(脱标)的元素是不能把容器惩处高度的。

二、浮动的清除

方法1:

        给浮动元素的祖先元素加高度。只要浮动在一个有高度的盒子中,那么这个浮动就不会影响后面的浮动元素。所以就是清除浮动带来的影响了。

换句话说,没有高度的容器无法关住浮动。所有后面盒子里面的浮动元素依然在贴上一个盒子里面浮动的元素。

网页制作的过程中,height属性很少出现,因为能被内容撑高。所以这个方法很少用。

方法2:

为后面浮动元素父亲添加clear: both;属性

11 <div> 22 <ul> 33 <li>HTML</li> 44 <li>CSS</li> 55 <li>JS</li> 66 <li>HTML5</li> 77 <li>设计模式</li> 88 </ul> 99 </div> 1010 1111 <div class="box2"> → 这个div写一个clear:both;属性 1212 <ul> 1313 <li>学习方法</li> 1414 <li>英语水平</li> 1515 <li>面试技巧</li> 1616 </ul> 1717 </div>

致命缺陷:margin 失效。本质原因还是因为两个div都没有高。

方法3:隔墙法

在两个div之间添加一个div

给这个div两个类 一个cl 给clear:both属性;一个h16给高度属性,用这个墙撑出高度,这样就避免了margin失效了。

虽然有中间的div(墙)撑出高度,但是前后两个div的高度依然是0。

1.cl{ 2 clear: both; 3 } 4 .h16{ 5 height: 16px; 6 } 7 8<div class="box1"> 9 <ul> 10 <li>HTML</li> 11 <li>CSS</li> 12 <li>JS</li> 13 <li>HTML5</li> 14 <li>设计模式</li> 15 </ul> 16 </div> 17 18 <div class="cl h16"></div> 19 20 <div class="box2"> 21 <ul> 22 <li>学习方法</li> 23 <li>英语水平</li> 24 <li>面试技巧</li> 25 </ul> 26 </div>

方法4:内墙法

1 <div class="box1"> 2 <ul> 3 <li>HTML</li> 4 <li>CSS</li> 5 <li>JS</li> 6 <li>HTML5</li> 7 <li>设计模式</li> 8 </ul> 9 10 <div class="cl h16"></div> 11 </div> 12 13 <div class="box2"> 14 <ul> 15 <li>学习方法</li> 16 <li>英语水平</li> 17 <li>面试技巧</li> 18 </ul> 19 </div>

把墙修在墙内,这样两个div都有高了

方法5:overflow:hidden;

一个父亲,不能被自己浮动的儿子撑出高度,但是,如果这个父亲加上了overflow:hidden;那么这个父亲就能够被浮动的儿子撑出高度了。这个现象,不能解释,就是浏览器的小偏方。并且,overflow:hidden;能够让margin生效。

点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

小记面试题-2021

CSS类1.解释浮动及其工作原理浮动的元素可以向左或者向右移动,直到它的外边缘碰到包含元素(父元素)或另一个浮动元素的边框为止。要想使元素浮动,必须为元素设置一个宽度。虽然浮动的元素已不在文档流中,但是它浮动后所处的位置依然在浮动之前的水平方向上。因为浮动元素不在文档流中,所以文档流中的块元素表现的就像浮动元素不存在一样,下面的元素会填补原来的位置。有些

CSS

在各种浏览器中显示效果也有可能不相同,这样让清除浮动更难了,下面总结8种清除浮动的方法,测试已通过iechromefirefoxopera,需要的朋友可以参考下清除浮动是每一个web前台设计师必须掌握的机能。css清除浮动大全,共8种方法。 浮动会使当前标签产生向上浮的效果,同时会影响到前后标签、父级标签的位置及widthhei

BFC清除浮动

BFC就是清除浮动用来处理文档脱离文档流的问题清除浮动的方法:a、父元素也添加一个浮动    产生弊端就是:margin不能使用b、给父元素添加一个:display:inlineblock     弊端同a一样:无法使用marginc、给父元素添加高     

CSS中清除浮动的作用以及如何清除浮动

1.什么是浮动,浮动的作用“浮动”从字面上来理解就是“悬浮移动、非固定”的意思。块级元素(div、table、span…)是以垂直方向排列,而在前端界面中往往要使用水平布局块级元素使界面更美观。这就要用到浮动了。被设置浮动的元素会脱离标准流(竖直排列),从而达到水平排列的效果。例如.未设置浮动时图1中的两张图片竖直排列在父级元素(橙色区域)

CSS清除浮动大全共8种方法

在各种浏览器中显示效果也有可能不相同,这样让清除浮动更难了,下面总结8种清除浮动的方法,测试已通过iechromefirefoxopera,需要的朋友可以参考下清除浮动是每一个web前台设计师必须掌握的机能。css清除浮动大全,共8种方法。浮动会使当前标签产生向上浮的效果,同时会影响到前后标签、父级标签的位置及widthheig