css相对定位+绝对定位

发布时间 2023-08-18 14:26:24作者: 三鸡

1、开启定位
相对定位:给元素设置position:relative 并且需要设置left、right、top、bottom四个属性来调整位置,如果没有设置这4个属性,默认都是0,这时盒子在视界上不会发生移动。
绝对定位:给元素设置position:absolute 并且需要设置left、right、top、bottom四个属性来调整位置,如果没有设置这4个属性,默认到包含块(这里是整个页面)的距离,这时盒子在视界上不会发生移动,但是后面的元素会移动

仅开启定位,但是不设置left、right、top、bottom时,两个定位的对比效果图:

2、相对定位的参考点在哪里?
相对元素自己原来的位置

3、相对定位的特点:
1、不会脱离文档流,元素的位置变化,只是视界效果上的变化,不会对其他元素产生影响。
2、定位元素的显示层级比普通元素高,无论什么定位,显示层级都是一样的。
默认规则是:
。定位的元素会覆盖在普通的元素之上。
。都发生定位的两个元素,后写的元素会覆盖先写的元素。
相对定位演示代码:

<html>
    <head>
<style>
    .outer{
        width: 300;
        height: 300px;
        background-color: gray;
    }

    .inner1{
        width: 70;
        height: 70;
        background-color: orange;
    }
    .inner2{
        width: 50;
        height: 50;
        background-color: green;
        position: relative;
        top: -70;
        right: 0;
    }

    .inner3{
        width: 70;
        height: 70;
        background-color: blue;
    }

</style>
    </head>
    <body>
        
        <div class="outer">
            <div class="inner1">盒子1</div>
            <div class="inner2">盒子2</div>
            <div class="inner3">盒子3</div>
        </div>
    </body>
</html>

相对定位演示效果图如下:

3、left不能和right一起设置,top不能和bottom一起设置。

4、相对定位的元素,也能继续浮动,但不推荐这样做。

5、相对定位的元素,也能通过margin调整位置,但不推荐这样做。

6、绝大多数情况下,相对定位,会与绝对定位配合使用。