CSS 中position:absolute的定位到底是相当于body,还是父级元素的问题

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>

复制代码

 

转载于:https://my.oschina.net/fadoudou/blog/1142735

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值