關於div內部絕對定位的div,位置並不根據父元素的來定位的筆記


今天遇到一個奇怪的現象,

假如html  body:

<div id="div1">

         <div id="div2"></div>

</div>

CSS:

#div1{

height:200px;

width:200px

}

#div2{

    position: absolute;
    margin: auto;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;

    height:200px;

    width:200px

}

按我原先的理解來說說應該div2在div1內上下左右都居中,而事實上卻在body中居中,這讓我困惑了好久。

后來發現將div1的 position設為relative才能達到原來預想的效果。

原因是絕對定位的盒子是相對於離它最近的一個已定位的盒子進行定位的(默認是body);要想相對父元素定位,父元素必須設置相對定位(relative)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM