盒子的相对定位(包含不脱离文档流的讲解,相对于原本位置偏移的实验讲解)

盒子的相对定位

相对定位是CSS中的一种定位方式,通过相对定位,元素将进行相对于其正常位置的定位。使用相对定位时,元素仍然占据原来的空间,其他元素的布局不会被影响。

相对定位是相对于盒子自身的原始位置进行定位。通过设置top、right、bottom、left属性(其属性值可为负数),可以改变盒子的位置,但是其他元素不会受到影响。相对定位的元素在文档流中仍然占据原始位置。 也就是说,在相对定位中,盒子并没有脱离文档流,它不会影响其他元素的布局,并且在正常文档流中保持其占据的空间,网页中的文档流机制的流水线排布方式还是存在。

盒子的定位是使用 position 属性来实现不同的定位方式,其参数为 static(静态定位)、 relative(相对定位)、 absolute(绝对定位)和 fixed(固定定位);元素的位置通过 left 、top 、right 以及 bottom 属性进行规定

正常文档流网页中的排列方式 

2号盒子分别相对于上边距和左边距偏移50px:


 

代码 

 
<head>
    <style>
        div{
            width: 100px;
            height: 100px;
            background-color: gray;
            border: 2px red solid;

           }
      
  
    </style>
</head>
<body>
    <div id="div1">1</div>
    <div id="div2">2</div>
    <div id="div3">3</div>
</body>

不脱离文档流的解释
相对定位(position: relative)是指元素相对于其正常位置(即在文档流中的位置)进行定位。这意味着即使对元素进行了位置偏移,它在文档流中的位置仍然是保留的,不会影响到其他元素的布局。换句话说,相对定位的元素仍存在于文档流中,其他元素会像它没被定位过一样继续围绕着它。
相对于原本位置偏移的实验讲解
假设我们有两个盒子A和B,盒子A使用了相对定位并将top属性设为50px

<style>
  #boxA {
    position: relative;
    top: 50px;
    left: 20px;
    width: 100px;
    height: 100px;
    background-color: red;
  }

  #boxB {
    width: 100px;
    height: 100px;
    background-color: yellow;
  }
</style>

<div id="boxA">Box A</div>
<div id="boxB">Box B</div>

由上可以看见,即使2号移动之后,它原来的位置始终保留着,3号并没有占据它的位置。(就好比图一1,2,3号盒子坐在自己位置上看表演,图二2号站起来去到旁边,但是它的椅子还是在原来的位置,没人能够移动和占据那把椅子),这就是保留在网页中的文档流的强大 

练习

<head>
    <style>
        img{
            width: 100px;
            height: 100px;
 
        }
        #img1{
            width: 100px;
            height: 100px;
            border: 3px red solid;
        }
        #img2{
            width: 100px;
            height: 100px;
            border: 3px green solid;
            position: relative;
            top: 50px;
            left: -50px;
        }
        #img3{
            width: 100px;
            height: 100px;
            border: 3px blue solid;
        }
        div{
            width: 100px;
            height: 100px;
            border: 3px yellow solid;
        }
    </style>
</head>
<body>
    <img src="D:\图片\夏日饮品.jpg" alt="" id="img1">
    <img src="D:\图片\夏日饮品.jpg" alt="" id="img2">
    <img src="D:\图片\夏日饮品.jpg" alt="" id="img3">
    <br>
    <img src="D:\图片\夏日饮品.jpg" alt="">
    <img src="D:\图片\夏日饮品.jpg" alt="">
    <img src="D:\图片\夏日饮品.jpg" alt="">
    <div></div>
    <div></div>
    <div></div>
 
</body>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值