绝对定位与相对定位

绝对定位:可以实现一个标签展示在页面的任意位置,设置后将不受文档流的控制,与浮动类似,不占用空间。需要有参照元素,参照被设为相对定位或绝对定位的标签,若是没有设定参照标签,就会参照body。

相对定位:主要是给绝对定位设置参照物, 绝对定位和相对定位经常搭配使用。

使用相对定位与绝对定位之后可以达到让元素在页面任意位置放置且不会影响达到其它元素的放置与布局的效果。

例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
       body{
           margin: 0;
       }
       .one{
           width: 500px;
           height: 500px;
           /* 移动前: */
           /* margin-left: 300px; */
           /* 移动后: */
           margin-left: 600px;
           background-color: yellow;
           /* 有相对定位: */
           position: relative;
       }
       .two{
           width: 200px;
           height: 200px;
           /* 都是相对于参照的div来说 */
           top: 200px;
           left: 300px;
           background-color: red;
           position: absolute;
       }
    </style>
</head>
<body>
    <div class="one">
        <div class="two"></div>
    </div>
</body>
</html>

 当没有给class为one的标签设置 position: relative 时,移动第一个div(黄色)的位置后,第二个div(红色)的情况如下图所示:

移动前:

将黄色div向右移动后:

 

 红色的第二个div还停留在了原地,这就是当没有设置某个标签为相对定位时,绝对定位就会以body为参照

当在第一个div里加上相对定位后,移动前后情况如下:

移动前:

移动后: 

可以看到,红色div还在黄色div相同的位置。

注意:设置绝对定位与相对定位之后标签会变成行内块(inline-block)形式。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值