浮动(float)

浮动的定义

使元素脱离文档流,按照指定方向发生移动,遇到父级边界或者相邻的浮动元素停下来。
(文档流是文档中可显示对象在排列时所占用的位置)

浮动的特征

1、使块元素在一行显示;
2、使内联元素支持宽高;
3、默认内容撑开宽度;
4、使元素脱离文档流;
5、提升层级半层


给元素在某个方向上设置浮动:
float:left | right | none | inherit;

使元素的某个方向上不能有浮动:
clear:left | right | both | none | inherit;

对清除浮动的理解:
我们所说的“清除浮动”是指,清除由于子元素浮动带来父元素高度塌陷的影响。(清除的是该影响)
换句话说,我们既想让子元素在同一行显示,又想避免父元素的高度塌陷。


△使用after伪类清除浮动

	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.clearfix{				//ie6、ie7需额外添加语句
				*zoom:1;
			}
			.clearfix:after{		//清除浮动语句
				content: "";
				display: block;
				clear: both;
			}
			.box{
				border:1px solid red;
			}
			.item{
				width: 200px;
				height: 200px;
				background-color: green;
   			    margin-right:20px;
				float: left;               //此处使用了浮动
			}
		</style>
	</head>
	<body>
		<div class="box clearfix">    		//要清除浮动,需在其父类上设置伪类
			<div class="item"></div>
   			<div class="item"></div>
 		    <div class="item"></div>
		</div>
	</body>

未清除浮动时,状况如下(绿方块设置了浮动,脱离了文档流,故其父类边框内再无任何内容,重叠到一起,造成了高度塌陷)
在这里插入图片描述

清除浮动后,显示正常(所以清除浮动并不是不让元素浮动,而是避免元素浮动的负面影响)
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yijun9588/article/details/87966617