1、概念
相对定位是通过设置CSS属性position:relative来实现的。当一个元素被设置为相对定位时,它会相对盒子原本位置定位进行偏移,盒子本体仍处于文档流中,占据原本位置。这意味着它原本在文档流中所占的空间仍然保留,其他元素的布局不会因为它的偏移而受到破坏。
2、相对定位语法
选择器{position:relative;}
3、相对定位的使用
(1)创建一个HTNL结构
<body>
<div id="div1">红</div>
<div id="div2">绿</div>
<div id="div3">蓝</div>
</body>
(2)添加CSS属性
<style>
div{
width: 100px;
height: 100px;
margin: 3px;
}
#div1{
background-color: red;
}
#div2{
background-color: green;
}
#div3{
background-color: blue;
}
</style>
此时代码运行结果如下:
(3)为div1加入相对定位
<head>
<style>
div{
width: 100px;
height: 100px;
margin: 3px;
}
#div1{
background-color: red;
position: relative;
top: 50px;
left: 50px;
}
#div2{
background-color: green;
}
#div3{
background-color: blue;
}
</style>
</head>
<body>
<div id="div1">红</div>
<div id="div2">绿</div>
<div id="div3">蓝</div>
</body>
</html>
此时运行结果如下:
我们会发现绿色的div
元素仍然会按照正常的布局显示在红色div
元素的下方,就好像红色div
元素从未移动过一样。也就是说即使盒子位置改变了也不会脱离文档流,后面的内容不会替补到移动的盒子的原位置。(为了方便大家观察,我将红色div原来的位置用红色方框画出来)
补充:
使用left、right改变其水平位置,使用top、bottom改变其垂直位置
left定位元素和定位元素的左边距离,right定位元素和定位元素的右边距离
top定位元素和定位元素的上边距离,bottom定位元素和定位元素的下边距离
注意:
1、两个方向各选一个参数定位即可;
2、定位的数值可以负数