CSS 中position:absolute的定位到底是相當於body,還是父級元素的問題


position:absolute的定位是一個相對麻煩的問題。

首先在文檔流中,定義為position:absolute的元素已經被刪除了。

那它的定位到底是相對於body,還是父級元素呢?

結論如下:

position:absolute是相對於他的包含塊中第一個有position:absolute或者position:relative屬性的父級元素,如果都沒有,就是相對於body。

舉例如下:

1、它的父級元素都沒有,就是相對於body定位的。

<!DOCTYPE html>

<html>
<head>
    <title>test</title>
</head>

<body>
    <div style="width:200px;height:200px;background-color:red;">
        <div style="width:100px;height:100px;background-color:blue;">
            <div style="width:50px;height:50px;background-color:yellow;position:absolute;left:20px;top:10px;"></div>
        </div>
    </div>
</body>
</html>

2、它的父級元素里有,就是相對於哪個有的父級元素。

例一:相對於第一個div定位

<!DOCTYPE html>

<html>
<head>
    <title>test</title>
</head>

<body>
    <div style="width:200px;height:200px;background-color:red;position:absolute;">
        <div style="width:100px;height:100px;background-color:blue;">
            <div style="width:50px;height:50px;background-color:yellow;position:absolute;left:20px;top:10px;"></div>
        </div>
    </div>
</body>
</html>

例二:相對於第二個div定位

<!DOCTYPE html>

<html>
<head>
    <title>test</title>
</head>

<body>
    <div style="width:200px;height:200px;background-color:red;position:absolute;">
        <div style="width:100px;height:100px;background-color:blue;position:relative;">
            <div style="width:50px;height:50px;background-color:yellow;position:absolute;left:20px;top:10px;"></div>
        </div>
    </div>
</body>
</html>

 


免責聲明!

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



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