让position:absolute超出DIV溢出隐藏
通常,为了让DIV⼦元素超出部分隐藏,都是在⽗元素设置overflow:hidden,这样即可防⽌⼦元素撑开⽗元素,使⼦元素能够溢出隐藏!
但是,对于position:absolute定位的⼦元素,仅仅使⽤overflow:hidden没办法将其溢出部分隐藏,需要在⽗元素上也加上⼀个定位position:relative;才能将含有 position:absolute属性的⼦元素进⾏溢出隐藏!
效果:
代码:
<style>
.box{
width:200px;
height:150px;
absolute relativeoverflow:hidden;
border:2px solid #000;
float:left;
margin-right:20px;
}
.relative{
position:relative;
}
.div{
width:200px;
height:100px;
background:#FF5400;
margin-top:100px;
position:absolute;
}
.zi{
width:200px;
height:300px;
background:#FF0000;
}
</style>
<div class="box">
⾼300px的⼦元素溢出隐藏
<div class="zi"></div>
</div>
<div class="box">
不带relative
<div class="div"></div>
</div>
<br><br><br><br><br><br>
<div class="box relative">
带上relative
<div class="div"></div>
</div>
附:
1、CSS overflow属性,overflow 属性规定当内容溢出元素框时发⽣的事情,所有主流浏览器都⽀持 overflow 属性。任何的版本的 Internet Explorer (包括 IE8)都不⽀持属性值 "inherit"。
这个属性定义溢出元素内容区的内容会如何处理。如果值为 scroll,不论是否需要,⽤户代理都会提供⼀种滚动机制。因此,有可能即使元素框中可以放下所有内容也会出现滚动条。默认值:visible
hidden:内容会被修剪,并且其余内容是不可见的。
scroll:内容会被修剪,但是浏览器会显⽰滚动条以便查看其余的内容。
auto:如果内容被修剪,则浏览器会显⽰滚动条以便查看其余的内容。
inherit:规定应该从⽗元素继承 overflow 属性的值。
2、position属性,position 属性规定元素的定位类型。所有主流浏览器都⽀持 position 属性。任何的版本的 Internet Explorer (包括 IE8)都不⽀持属性值 "inherit"。
这个属性定义建⽴元素布局所⽤的定位机制。任何元素都可以定位,不过绝对或固定元素会⽣成⼀个
块级框,⽽不论该元素本⾝是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。默认值:static
absolute:⽣成绝对定位的元素,相对于 static 定位以外的第⼀个⽗元素进⾏定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进⾏规定。
fixed:⽣成绝对定位的元素,相对于浏览器窗⼝进⾏定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进⾏规定。
relative:⽣成相对定位的元素,相对于其正常位置进⾏定位。因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。static:默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
inherit:规定应该从⽗元素继承 position 属性的值。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。