视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
CSS中关于清除浮动几种方式的具体介绍
2020-11-27 18:50:20 责编:小采
文档

什么是浮动?

特性:1--浮动的元素不会占据标准流的空间,但是会影响标准流中的文本的排版。浮动只有左右浮动。
2--浮动元素A的位置与上一个元素有关系。如果上一个元素有浮动,则A的顶部与上一个元素顶部对齐,如果没有浮动,则与其底部对齐。
3--一个父盒子中的子盒子,如果其中一个子级有浮动,则其他子级都需要浮动,才能一行显示。
4--元素浮动之后,如果没有设置宽高,元素会根据内容的多少来设置内容的大小将会有行内块元素的属性。
5--元素浮动之后,如果父元素没有设置高度。会造成父元素高度塌陷。
解决这个问题?
-----在父元素中加入属性:overflow:hidden;超出的部分进行隐藏

overflow属性:
当盒子内的元素超出黑子自身的大小时,内容的显示方式
visible:内容不会被修剪,会呈现在元素框之外(默认)
hidden:会被修剪隐藏,可以使用这个属性来清除浮动
auto:自适应显示滚动条
scrol:内容会被修剪,会显示滚动条

bfc:
overflow可以触发元素的bfc,可以让元素具有排版的空间和权限,在bfc内部所有的元素都依据父元素进行排版和布局,所有父元素具有了包裹性,这就是解决高度塌陷问题的原理。
浮动、定位、overflow、dispaly、table、table-cell都可以触发bfc。

清除浮动:
--就是让当前元素左右两边都不存在浮动元素的时候,才把元素放在标准流中显示。
--清除浮动的四种方式:
1.使用空标记清除浮动,隔墙放。增加标签。
在浮动标签的后边加一个<p class="clearboth"></p>,不设置宽高然后设置.clearboth{clear:both},然后再将需要的标签放到这个空标签后边即可
2.使用overflow属性清除浮动。会误伤。
overflow:hidden;
3.使用after伪对象清除浮动
4.使用before after伪对象清除浮动
clearfix(2,3,4中方式的结合,常用)。

.clearfix
 父盒子要把子盒子包裹住,触发bfc同时清除前后浮动。
 .clearfix{
 display:table;<!-- 触发dfc -->

 }
 .clearfix:before,.clearfix:after{
 content:"";
 display:block;
 clear:both;
 height:0;
 }
 在ie6中display:table;不能触发dfc,所以用以下方式进行触发
 .clearfix{
 _zoom:1;
 }

用法:

<p class="top">top</p>
	<p class="clearfix">
	 <p class="left">left</p>
	 <p class="right">right</p>
	</p>	
	<p class="bottom">bottom</p>
.clearfix{
	 	display: table;/* 触发nfc */
	 }
	 .clearfix:before,.clearfix:after{
	/* 前后加一个空的标签清除浮动 */
	content: "";
	display: block;
	height: 0;
	clear: both;
	 }
	 .clearfix{
	 	_zoom:1;/* 为了兼容ie6 */
	 }

下载本文
显示全文
专题