定位position

**

position:

**

  • static:默认值,元素值静止的没有开启定位
  • relative:开启元素相对定位
  • absolute:开启元素绝对定位
  • fixed:开启元素固定定位
  • sticky:开启元素的粘滞定位

相对定位

1.如果开启相对定位,但是不设置偏移量,元素不会发生任何变化
偏移量:offset,只有开启定位才可以用
(top,bottom一般只会选择一个使用,left,right一般只使用一个,left的优先级高于right )

2.相对定位是参照文档流中的位置进行定位的,通俗点说,就是在不设置定位之前左上角的位置为原点

3.相对定位会提升元素的层次

4.相对定位不会使元素脱离文档流

5.不会改变元素的性质,比如:行内元素,块元素这些属性

绝对定位

绝对定位的坐标原点:此元素的祖先之中,挨得最近的,定位是relative的祖先元素的原点,如果没有的话,就按照网页的左上角作为原点

绝对定位开启之后,水平布局要满足:

left + margin-left + border-left + padding-left + width +
padding-right + border-right + margin-right + right = 父盒子内容宽度

可以设置auto的值:margin,width,left,right

垂直方向的布局:

top + margin-top/bottom +padding-top/bottom + height = 父盒子内容高度

绝对定位的一种水平垂直居中的方法:子绝父相——>margin:auto,auto;四个方向的偏移为0

***代码示例 ***

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>absolute</title>
    <style>
        .box1{
            width: 200px;
            height: 200px;
            background-color: aqua;
        }
        .box2{
            width: 200px;
            height: 200px;
            background-color: red;
            position: absolute;
            top: 0;
            left: 0;
        }
        .box3{
            width: 200px;
            height: 200px;
            background-color: blue;
        }
        .box4{
            width: 400px;
            height: 400px;
            background-color: pink;
            position: relative;
        }
        .box5{
            width: 300px;
            height: 300px;
            background-color: yellow;
        }
    </style>
</head>
<body>
    <div class="box1">1</div>
    <div class="box4">4
        <div class="box5">5
            <div class="box2">2</div>
        </div>
    </div>
    
    <div class="box3">3</div>
</body>
</html>

4>5>2

当我们把box5改为position:relative的时候

在这里插入图片描述

  1. 开启绝对定位后,如果不设置偏移量,元素的位置(与相对定位不同)不会发生变化
  2. 开启绝对定位后,元素会从文档流中脱离
  3. 会改变元素的性质,行内元素编程块元素,块的宽高被内容撑开(行内块)
  4. 会使元素提升层级
  5. 绝对定位是根据其包含块来定位的

包含块(containing block):正常情况下就是离当前元素最近的祖先块元素,如果该元素开启了绝对定位,包含块就是离得最近的开启相对定位的祖先元素,如果所有的祖先元素都没有开启相对定位,那就根据根元素定位(网页),html是根元素

固定定位

  1. 固定定位是特殊的绝对定位,唯一不同的是:固定定位永远参照于浏览器的视口进行定位

粘滞定位

position:sticky
和相对定位的特点基本一致,可以在元素到达某个位置之后将其固定

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值