定位怎么理解透彻????

 /* 布局:文档在文档流 浮动 定位 弹性盒子等等 */

        /* 定位是什么:是一种高级的定位手段,通过position属性设置定位。

        position可选值:

                       static 默认值,没有开启定位。

                       relative 开启相对定位

                       absolute 绝对定位

                       fixed 固定定位

                       sticky 粘滞定位

        每一种定位对应的特点:

        static 默认值,没有开启定位。

        relative 开启相对定位:

               1、开启相对定位之后,元素如果不配合*偏移量*使用(left:相对于定位位置左侧偏移量 right:相对于定位位置右侧偏移量 top:相对于定位位置上侧偏移量 bottom:相对于定位位置下侧偏移量 ) 元素没有任何变化。

               2、相对定位的原点,就是元素原来在文档流中的位置。

               3、开启了相对定位后,元素的层级提高了。

               4、开启相对定位 元素性质不会改变,块还是块,行内还是行内。元素不会脱离文档流。

            一般情况下 水平方向的偏移量,垂直方向的偏移量只用一个值确定,不会同时使用两个值 容易出问题

        absolute 开启绝对定位

               1、一旦开启绝对定位,元素就会脱离文档流。

               2、元素的性质就发生了改变,不在区分块 行内块 行内元素,就可以设置宽高。

               3、开启绝对定位 元素的层级也会提高

               4、绝对定位如果要元素的位置发生改变 依然需要配合偏移量

               5、绝对定位的原点相对于其包含块(1、在没有定位的情况下就是离当前元素最近的祖先元素2、有定位的情况下,包含块是离其最近的 开启定位的祖先元素。如果他的祖先元素都没有开启定位,包含块就是根元素html又叫初始包含块)来定位的。

            一般情况下,给子元素设置绝对定位同时也会给父元素设置相对定位。叫“子绝父相”但具体情况具体分析。

        fixed 开启固定定位

               1、开启定位后,元素会脱离文档流,元素的性质也会发生改变。

               2、开启之后,元素会固定在页面中,不会随着滚动条滚动而滚动,

               3、元素的层级也会提高

               4、元素位置的改变也需要配合偏移量去使用

               5、固定定位是参照根标签来偏移的

            一般情况下常用于固定的广告位 固定导航

        sticky 开启粘滞定位  

               1、不会脱离文档流,元素的性质也不会发生改变。

               2、粘滞定位要配合top值去使用。在没有到达top值之前 元素随着滚动条滚动而滚动,到达top值后 元素不会滚动了

               3、粘滞定位的偏移量,定位点是浏览器的视口html

            一般使用场景 广告和导航    

        */

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>相对定位</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        
        .box{
            width: 600px;
            height: 600px;
            border: 2px solid black;
        }
        .box1,.box2,.box3{
            width: 200px;
            height: 200px;
            
        }
        .box1{
            background-color: aquamarine;
            /* 开启绝对定位 */
            /* position: absolute; */
            /* left: 200px; */
            /* top: 200px; */
            
        }
        .box2{
            background-color: red;
            /* 开启相对定位 */
            /* position: relative; */
            /* 设置偏移量 */
            /* left: 200px;
            bottom: 200px; */
        }
        .box3{
            background-color: yellow;
            /* position: fixed;
            right: 0;
            bottom: 0; */
            /* left: 0;
            top: 0; */
        }
        /* .s1{
            width: 200px;
            height: 200px;
            background-color:green;
            position: relative;
            left: 100px;
            top: 100px;
        } */
    </style>
</head>
<body>
    <div class="box">
        <div class="box1">1</div>
        <div class="box2">2</div>
        <div class="box3">3
            <span class="s1">我是一个span</span>
        </div>
        
    </div>
</body>
</html>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值