通常,為了讓DIV子元素超出部分隐藏,都是在父元素設定overflow:hidden,這樣即可防止子元素撐開父元素,使子元素能夠溢出隐藏!
但是,對于position:absolute定位的子元素,僅僅使用overflow:hidden沒辦法将其溢出部分隐藏,需要在父元素上也加上一個定位position:relative;才能将含有 position:absolute屬性的子元素進行溢出隐藏!
效果:

代碼:
<style>
.box{
width:200px;
height:150px;
overflow: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 屬性的值。
部落格連結:http://blog.32xp.com/positionabsolutediv-533.html