18910140161

CSS中position:absolute的定位是相当于body还是父元素?

顺晟科技

2021-09-19 13:12:51

142

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>

 

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航