overflow清除浮动

本文介绍如何通过应用CSS的overflow属性解决Div+CSS布局中包装容器不扩展到子元素浮动高度的问题。提供了两个实例演示,包括清除浮动和避免内容溢出浮动元素。同时介绍了使用word-wrap和max-width属性解决长文本和大图像导致的容器滚动问题。

在使用Div+Css布局的时候我们所面临的共同问题之一是,包装容器不扩到子元素的浮动元素的高度。你也可以使用overflow属性来解决这个问题 ?这不是一个新的CSS技巧。今天,我想重新起这几个技巧的话题。

演示地址:http://webdesignerwall.com/demo/clear-float/

 演示1:

    下面的演示中显示的浮动子元素在父容器高度不自动适应的问题 。为了解决这个问题,您可以简单地添加CSS属性overflow:auto (or overflow:hidden)的包装容器。这也许是最简单的方法来清除浮动。

溢出汽车

.container {
overflow
: auto;
}


演示2:

Overflow:auto 也可以用来防止从周围的浮动元素包装的内容。比方说,你正在设计一个评论列表。您将最有可能,有一个头像,浮于左,评论在右。要防止的头像周围环绕的评论,只需添加 overflow:hidden 的评论容器。使用overflow这里的优点是,我没有给评论容器设置一个float or width。容器自动校准浮动的头像图片。

溢出汽车

.image {
float
: left;
}

.text
{
overflow
: hidden;
}

缺点(参见演示

虽然它是一个很好的的技巧,也一些弊端:

  • 使用 overflow:auto,会造成一个滚动条,如果您的内容是延长了容器的边界。例如,如果你有一个长unbreaking的文本(即长的URL文本)或一个较大的图像,是更大的,则容器滚动显示。
  • 为了避免一个滚动显示你应该使用overflow:hidden。然而,这种方法有一个缺点使用overflow:hidden隐藏任何超出容器的边界的内容。

Word-wrap

为了解决大文本问题,只需添加 word-wrap:break-word 到容器,这将迫使文本换行到一个新的行。

.container {
word-wrap
: break-word;
}

Max-width

为了防止图像扩大超出容器边界,添加的max-width:100%,它会调整图像的大小符合容器的最大宽度。

.container img {
max-width
: 100%;
height
: auto;
}

英文原稿:CCSS: Clearing Floats with Overflow| WebDesignerWall

翻译整理:CSS: 清除浮动-使用:Overflow | 孟晨

作者:孟晨 
出处:http://www.cnblogs.com/xiaoyao2011/ 
欢迎任何形式的转载,但请务必注明出处。

### 使用 `overflow: auto` 清除 CSS 浮动 在处理浮动元素时,父容器可能会因为子元素的浮动而发生高度塌陷的问题。为了防止这种情况的发生并保持页面布局的一致性和稳定性,可以通过设置父级元素的 `overflow` 属性为 `auto` 来清除内部浮动的影响。 #### 方法解析 当给定一个包含多个浮动子项的父容器时,在其样式定义中加入如下声明: ```css .parent { overflow: auto; } ``` 此方法不仅能够有效地包裹住所有的浮动子元素,而且不会像 `hidden` 那样裁剪溢出的内容[^3]。这种方式确保了即使内容超出设定区域也不会被隐藏掉,而是自动触发滚动条显示以便查看全部内容。 #### 实际应用案例 下面提供了一个具体的 HTML 和 CSS 组合实例来展示这一技巧的实际效果: ```html <div class="container"> <div class="float-left">左浮动元素</div> <div class="float-right">右浮动元素</div> <!-- 添加具有 'overflow-auto' 的 div --> <div class="overflow-clear"></div> </div> ``` 对应的 CSS 定义如下所示: ```css .container { /* 设置宽度 */ width: 100%; } .float-left, .float-right { width: 48%; padding: 1%; box-sizing: border-box; } .float-left { float: left; background-color: lightblue; } .float-right { float: right; background-color: lightcoral; } .overflow-clear { overflow: auto; height: 200px; /* 可选:根据实际需求调整 */ background-color: lightyellow; } ``` 在这个例子中,`.overflow-clear` 类用于创建一个新的块格式化上下文 (BFC),从而阻止任何来自 `.float-left` 或者 `.float-right` 子节点引起的浮动影响到外部结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值