详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)

⼀. overflow:hidden 溢出隐藏

给⼀个元素设置overflow: hidden,如果该元素中的内容超出了给定的宽度或⾼度,那么超出的部分将会被隐藏,不占位。

<style type="text/css">
	div {
		width: 150px;
		height: 60px;
		background: skyblue;
		overflow: hidden;  /*溢出隐藏*/
	}
</style>
<div>
	今天天⽓很好!<br />
	今天天⽓很好!<br />
	今天天⽓很好!<br />
	今天天⽓很好!<br />
</div>

效果如下:
在这里插入图片描述

⼆. overflow:hidden 清除浮动(页面塌陷)

⼀般⽽⾔,⽗级元素不设置⾼度时,⾼度随内容增加⾃适应⾼度。当⽗级元素内部的⼦元素全部都设置浮动float之后,⼦元素会脱离标准流,不占位,⽗级元素检测不到⼦元素的⾼度,⽗级元素⾼度为0。那么问题来了,如下:

<style type="text/css">
	.box{
		background:skyblue;
	}
	.kid{
		width: 100px;
		height: 100px;
		float:left;
	}
	.kid1{
		background: yellow;
	}
	.kid2{
		background: orange;
	}
	.wrap{
		width: 300px;
		height: 150px;
		background: blue;
		color: white;
	}
</style>
<body>
	<div class="box">
		<div class="kid kid1">⼦元素1</div>
		<div class="kid kid2">⼦元素2</div>
	</div>
	<div class="wrap">其他部分</div>
</body>

在这里插入图片描述
如上,由于⽗级元素没有⾼度,下⾯的元素会顶上去,造成页⾯的塌陷。因此,需要给⽗级加个overflow:hidden属性,这样⽗级的⾼度就随⼦级容器及⼦级内容的⾼度⽽⾃适应。如下:

由于在IE⽐较低版本的浏览器中使⽤overflow:hidden;是不能达到这样的效果,因此需要加上 zoom:1;
所以为了让兼容性更好的话,如果需要使⽤overflow:hidden来清除浮动,那么最好加上zoom:1;

<style type="text/css">
	.box{
		background:skyblue;
		overflow: hidden;  /*清除浮动*/
		zoom:1;
	}
	.kid{
		width: 100px;
		height: 100px;
		float:left;
	}
	.kid1{
		background: yellow;
	}
	.kid2{
		background: orange;
	}
	.wrap{
		width: 300px;
		height: 150px;
		background: blue;
		color: white;
	}
</style>
<body>
	<div class="box">
		<div class="kid kid1">⼦元素1</div>
		<div class="kid kid2">⼦元素2</div>
	</div>
	<div class="wrap">其他部分</div>
</body>

在这里插入图片描述

三. overflow:hidden 解决外边距塌陷

⽗级元素内部有⼦元素,如果给⼦元素添加margin-top样式,那么⽗级元素也会跟着下来,造成外边距塌陷,如下:

<style type="text/css">
	.box{
		background:skyblue;
	}
	.kid{
		width: 100px;
		height: 100px;
		background: yellow;
		margin-top: 20px;
	}
</style>
<body>
	<div class="box">
		<div class="kid">⼦元素1</div>
	</div>
</body>

在这里插入图片描述

因此,给⽗级元素添加overflow: hidden,就可以解决这个问题了。

<style type="text/css">
	.box{
		background:skyblue;
		overflow: hidden; /*解决外边距塌陷*/   
	}
	.kid{
		width: 100px;
		height: 100px;
		background: yellow;
		margin-top: 20px;
	}
</style>
<body>
	<div class="box">
		<div class="kid">⼦元素1</div>
	</div>
</body>

在这里插入图片描述

  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: overflow: hiddenCSS 中的一个属性,用于指定当内容超出容器的范围时,是否显示溢出的内容。如果使用 overflow: hidden,则内容会被隐藏。这可以用于创建不显示滚动条的块级容器。 ### 回答2: overflow: hiddenCSS中的一个属性,用于控制一个元素的内容溢出时的处理方式。当元素内容超出了其指定的尺寸范围时,可以通过设置overflow: hidden隐藏溢出的内容。 具体来说,overflow: hidden属性使得超出元素尺寸范围的内容被裁剪隐藏,不会显示在页面上。这种情况下,虽然内容仍然存在,但对用户来说是不可见的。 使用overflow: hidden属性可以实现一些效果,比如防止文本内容溢出容器、隐藏导航栏中的下拉菜单等。当一个容器元素的内容超出了其指定的尺寸范围时,可以将溢出的部分通过设置overflow: hidden进行隐藏,从而避免页面布局混乱。 需要注意的是,overflow: hidden属性只对具有设置高度或宽度的容器元素起效。如果没有设置容器元素的高度或宽度,那么无法触发溢出隐藏的效果。 总之,overflow: hiddenCSS的一个属性,通过设置它可以使得超出容器尺寸范围的内容被隐藏,为页面布局和展示效果提供了一种解决方案。 ### 回答3: overflow: hidden是一个CSS属性,用于控制容器中内容溢出时的处理方式。当容器的内容超出容器的大小时,可以使用该属性来决定内容的显示方式。 该属性的作用是,当内容超出容器的大小时,将超出部分隐藏起来。这意味着,内容会被截断,并且超出容器的部分不会显示出来。因此,容器的大小决定了内容的可见区域。 当容器的宽度或高度不够显示所有内容时,会自动出现滚动条以便滚动查看内容。但是,使用overflow: hidden后,超出容器的内容将被隐藏,无法通过滚动条查看。 这个属性在设计响应式网页时非常有用。当在移动设备上显示具有较大尺寸的内容时,可以使用overflow: hidden来控制内容的显示,以避免内容溢出导致页面错乱。同时,也可以在制作图片展示或幻灯片等需要固定区域大小的效果时使用该属性。 总之,overflow: hidden用于控制容器中内容溢出时的显示方式,将超出容器的内容隐藏起来,并且不会显示滚动条。这是一种常用的CSS属性,特别适用于移动设备和响应式网页设计。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值