overflow:hidden

一. overflow:hidden 溢出隐藏

给一个元素中设置overflow:hidden,那么该元素的内容若超出了给定的宽度和高度属性,那么超出的部分将会被隐藏,不占位。

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

效果如下:
在这里插入图片描述
一般情况下,在页面中,一般溢出后会显示省略号,比如,当一行文本超出固定宽度就隐藏超出的内容显示省略号。

/*只适用于单行文本*/
div{ 
    width: 150px;
    background: skyblue;
    overflow: hidden;      /*溢出隐藏*/
    white-space: nowrap;	/*规定文本不进行换行*/
    text-overflow: ellipsis;	/*当对象内文本溢出时显示省略标记(...)*/
}

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

二. overflow:hidden 清除浮动

一般而言,父级元素不设置高度时,高度由随内容增加自适应高度。当父级元素内部的子元素全部都设置浮动float之后,子元素会脱离标准流,不占位,父级元素检测不到子元素的高度,父级元素高度为0。那么问题来了,如下:
在这里插入图片描述如上,由于父级元素没有高度,下面的元素会顶上去,造成页面的塌陷。因此,需要给父级加个overflow:hidden属性,这样父级的高度就随子级容器及子级内容的高度而自适应。如下:

由于在IE比较低版本的浏览器中使用overflow:hidden;是不能达到这样的效果,因此需要加上 zoom:1;

所以为了让兼容性更好的话,如果需要使用overflow:hidden来清除浮动,那么最好加上zoom:1;

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

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

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


关于overflow:hidden

关于overflow:hidden;很多人都知道他是溢出隐藏的一个属性,但是并不是很多人知道它的一些神奇的地方!首先先讲一下众所周知的溢出隐藏吧!

溢出隐藏

一般会遇到的情况是内容超出了父级盒子,如下:
在这里插入图片描述
使用overflow:hidden;之后,显示就是这样的:
在这里插入图片描述
哪里超出就隐藏哪里!一般会用在一行文本超出固定宽度就隐藏超出的内容,但是这种情况一般会和省略号一起配合使用,超出位置显示省略号(是一行文本才有效哦):

.box {
    width: 200px;
    height: 50px;
    margin: 200px auto;
    background: #ccc;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
<div class="box"> 我是文本内容我是文本内容我是文本内容我是文本内容我是文本内容我是文本内容我是文本内容我是文本内容我是文本内容我是文本内容我是文本内容我是文本内容我是文本 </div>

使用这种方式的话,盒子一定要是块级盒子,并且有宽度哦!

以上只是说了它本身溢出隐藏的功能,那么接下来说一下它奇特的一些功能!

overflow:hidden;清除浮动

布局的时候肯定会有一种情况,在一个父级盒子中,有左右浮动的两个子级盒子,也就是常见的左右布局,但是子级的内容不定,会多也会少,这个时候父级就不能给一定的高度,而是根据子级的内容的多少来改变,如果不给高度,那么页面就会有塌陷的问题,什么是父级塌陷的问题呢?我们先来了解一下!

首先下面这个是父级(红色的盒子)给了一定的高度,并且左右两个子级浮动,显示布局是没有问题的,
在这里插入图片描述
在这里插入图片描述
但是现在我们想的是,right里面的内容增加,那么父级盒子应该一起增高,并且将footer部分顶下去,那么就不给红色父级高度,让父级自适应,这个问题大家一般会想到删除高度,但是问题就来了:
在这里插入图片描述
在这里插入图片描述
相信很多人在写页面的时候都会遇到这个类似的问题,那这个问题就是父级塌陷了!我们可以看到红色的父级不再显示,然而footer部分跑到了红色盒子的两个子级的下面去了。可以这么通俗的去理解:两个子级因为浮动的关系,脱离了标准流,但是父级没有给高度,父级就认为它没有任何内容,所以高度就不会被内容撑开,相当于父级的高度是0px;那么跟他平级的盒子footer,就会按照标准流的排布,紧挨着平级的红色盒子排着下来,只是红色的盒子高为0而已。这个就造成了页面的塌陷!那么这个是时候就要靠overflow:hidden;发挥它的作用了!我们先加上它看看什么效果:
在这里插入图片描述
在这里插入图片描述
这种情况是完全没有给父级加高度,只是加了一个overflow:hidden;如果这个时候我们同样不给浮动的右盒子高度,让它靠自己的内容撑开,就想列表新闻一样,列表多了,盒子就大了,那么红色的父级也会跟着增高的

假设right内容有点少
在这里插入图片描述
现在增加right
在这里插入图片描述
现在可以看到父级随着子级的内容的多少而改变高度,对布局不造成任何影响!

如果你在ie比较低版本的浏览器中使用overflow:hidden;也不能达到这样的效果,那么就加上 zoom:1;

所以为了让兼容性更好的话,如果使用overflow:hidden;来清除浮动,解决父级塌陷这个问题的话,建议配合 zoom:1;来使用,即:overflow:hidden;zoom:1;

解决插入图片时的底部留白问题!

插入图片时,如果存放图片的父级盒子没有给高度,那么父级盒子根据图片高度撑开,并且会多出几像素,例如:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
底部那个红色就是父级盒子box的背景色,那么处理办法有:

1、给父级加一个高度height,和图片一样高,并且添加overflow:hidden;这两个一起添加,兼容性会更好一些!
在这里插入图片描述
在这里插入图片描述
2、如果我们不需要给盒子添加高度,让其自适应图片高,那么我们可以给img添加display:block;
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: overflow: hidden 是 CSS 中的一个属性,用于指定当内容超出容器的范围时,是否显示溢出的内容。如果使用 overflow: hidden,则内容会被隐藏。这可以用于创建不显示滚动条的块级容器。 ### 回答2: overflow: hidden是CSS中的一个属性,用于控制一个元素的内容溢出时的处理方式。当元素内容超出了其指定的尺寸范围时,可以通过设置overflow: hidden来隐藏溢出的内容。 具体来说,overflow: hidden属性使得超出元素尺寸范围的内容被裁剪隐藏,不会显示在页面上。这种情况下,虽然内容仍然存在,但对用户来说是不可见的。 使用overflow: hidden属性可以实现一些效果,比如防止文本内容溢出容器、隐藏导航栏中的下拉菜单等。当一个容器元素的内容超出了其指定的尺寸范围时,可以将溢出的部分通过设置overflow: hidden进行隐藏,从而避免页面布局混乱。 需要注意的是,overflow: hidden属性只对具有设置高度或宽度的容器元素起效。如果没有设置容器元素的高度或宽度,那么无法触发溢出隐藏的效果。 总之,overflow: hidden是CSS的一个属性,通过设置它可以使得超出容器尺寸范围的内容被隐藏,为页面布局和展示效果提供了一种解决方案。 ### 回答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、付费专栏及课程。

余额充值