首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CSS清除浮动

什么是清除浮动?

当容器的高度为auto或者未设置高度,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象。

来看个例子,在页面布局时,一个父DIV嵌套两个小的DIV,父DIV高度未设置或者设为auto,随着实际内容的增加,大的DIV的高度会被其中的小DIV撑开,如下图

现在需要将DIV1与DIV2并排放置,将DIV1左浮动、DIV2右浮动以达到这样的效果

而实际上却是这样的

如何清除浮动?

我们引入一个例子来说明如何做到清除浮动,页面代码如图

实际布局如下

清除浮动方法

方法一:添加额外空元素

通过在浮动元素末尾添加空标签如:

优点:简单易懂、容易掌握、兼容性好

缺点:违背了样式与结构分离的原则,倘若页面需要清除的浮动很多,导致代码不易维护

方法二:使用css设置父元素overflow属性

给浮动元素的容器添加或可以清除浮动,另外在 IE6 中还需要触发 hasLayout ,目前基本不考虑低版本的IE兼容性问题。在添加overflow属性后,浮动元素又回到了容器层,把容器高度撑起,达到了清理浮动的效果。

效果图

优点:代码量少,没有结构与语义化的问题

缺点:兼容性问题

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180321G032U100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券