CSS中position属性学习笔记

CSS中position属性学习笔记

<body>
    <div class="box">
        <div class="d1"></div>
        <div class="d2"></div>
        <div class="d3"></div>
    </div>
</body>
<style>
    body {
        margin: 0;
    }
    div {
        width: 100px;
        height: 100px;
        background-color: blue;
    }
    .box {
        position: relative;
        top: 100px;
        left: 100px;
        border: 1px solid black;
        width: 50%;
        height: 1500px;
        background-color: white;
        overflow: visible;
    }
    .d2 {
        background-color: red;
        /* position: absolute; */
        top: 10px;
    }
</style>

static

​ position的默认值,就是每个元素在文档流当中的位置。

​ 上面示例代码中,div的position属性的默认值就是static。

效果如下:

image-20220511183417195

​ 可以看到,三个div元素(块级元素)按照顺序从上到下依次排列。

relative

​ relative是将元素相对自身在文档流中的位置偏移,原本的位置也会占用。

示例代码如下:

<style>
    .d2 {
        background-color: red;
        position: relative;
        top: 10px;
    }
</style>

效果如下:

image-20220511183814486

​ 可以看到,当我们修改红色div的position属性为relative的时候,该div相对于自身在文档流中原本的位置进行了10px的偏移,但是并没有脱离文档流。

absolute

​ absolute是将元素脱离文档流,相对于父元素(依次向上找position为relative的父元素,直到body)进行偏移定位。

示例代码如下:

<style>
    .d2 {
        background-color: red;
        position: absolute;
        top: 10px;
    }
</style>

效果如下:

image-20220511184317370

​ 可以看到,当我们将红色div设置为absolute的时候,由于第一个position为relative的父元素就是上层div,所以红色div就相对父元素进行了10px的偏移定位。并且脱离了原来的文档流,原来在文档流当中的位置也没有被保留。

fixed

​ fixed是将元素脱离文档流,相对于窗口定位。

示例代码如下:

<style>
    .d2 {
        background-color: red;
        position: fixed;
        top: 10px;
    }
</style>

效果如下:

fixed1

sticky

​ sticky,黏性定位,当距离窗口边界的位置大于预设的值时,元素处于正常的文档流当中的位置,当小于或等于预设值时,元素将被fixed在预设的值上。

示例代码如下:

<style>
    .d2 {
        background-color: red;
        position: sticky;
        top: 0px;
    }
</style>

效果如下:

sticky3

d-color: red;
position: sticky;
top: 0px;
}


效果如下:

[外链图片转存中...(img-ISgNDWsS-1652275261242)]

​	可以看到,当我们滚动时,红色div被黏住了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值