讓position:absolute超出DIV溢出隱藏

一般,爲了讓DIV子元素超出部分隱藏,都是在父元素設置overflow:hidden,這樣便可防止子元素撐開父元素,使子元素可以溢出隱藏!html

可是,對於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>

 

附:spa

一、CSS overflow屬性,overflow 屬性規定當內容溢出元素框時發生的事情,全部主流瀏覽器都支持 overflow 屬性。任何的版本的 Internet Explorer (包括 IE8)都不支持屬性值 "inherit"。代理

這個屬性定義溢出元素內容區的內容會如何處理。若是值爲 scroll,不管是否須要,用戶代理都會提供一種滾動機制。所以,有可能即便元素框中能夠放下全部內容也會出現滾動條。 默認值:visiblecode

hidden:內容會被修剪,而且其他內容是不可見的。htm

scroll:內容會被修剪,可是瀏覽器會顯示滾動條以便查看其他的內容。blog

auto:若是內容被修剪,則瀏覽器會顯示滾動條以便查看其他的內容。繼承

inherit:規定應該從父元素繼承 overflow 屬性的值。get

二、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

相關文章
相關標籤/搜索