CSS浮动与清除浮动

本文详细介绍了HTML中的文档流概念,以及浮动元素的特性,包括左浮动、右浮动、行内元素转换以及如何影响周围元素布局。当浮动元素导致父元素无法撑开时,提出了几种解决方法,如使用`overflow:hidden`或应用clearfix类来清除浮动。通过示例展示了这些方法的实际效果,帮助读者理解并解决常见的布局问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文档流:文档流,是指盒子按照 html 标签编写的顺序依次从上到下,从左到右排列,块元素占一行,行内元素在一行之内从 左到右排列,先写的先排列,后写的排在后面,每个盒子都占据自己的位置。

浮动的特性:

  1. 浮动元素有左浮动(float:left)和右浮动(float:right)两种 :右有浮动文字会倒过来,所有需要把编写顺序倒过来即可。
  2. 浮动的元素会向左或向右浮动,碰到父元素边界、浮动元素、未浮动的元素才停下来:
  3. 相邻浮动的块元素可以并在一行,超出父级宽度就换行 。如图:
  4. 浮动让行内元素或块元素自动转化为行内块元素(内联块元素)。 
  5. 浮动元素后面没有浮动的元素会占据浮动元素的位置,没有浮动的元素内的文字会避开浮动的元素,形成文字饶 图的效果(如:div1设置了浮动,后面内容文字没有设置,会形成文字浮动效果。)
  6. 父元素内整体浮动的元素无法撑开父元素,需要清除浮动 
  7. 浮动元素之间没有垂直 margin 的合并


清除浮动(父元素无法撑开):

  1. 在最后一个子元素的后面加一个空的 div,给它样式属性 clear:both(不推荐)

  1. 父级上增加属性 overflow:hidden
  2. 使用成熟的清浮动样式类,clearfix​​​​​​​

​​​​​​​clearfix代码如下:

.clearfix:after,.clearfix:before{ content: "";display: table;}
.clearfix:after{ clear:both;}
.clearfix{zoom:1;}

清除浮动的使用方法:

 .con2{... overflow:hidden} 或者
<div class="con2 clearfix">

 

问题:假设一个容器有浮动元素,给每个元素挨个添加浮动,导致父元素高度无法撑开。如下图:


解决办法给其父元素添加 overflow:hidden 效果如下图:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值