position:relative与position:absolute的一个技巧
首先来看以下,一个father div, 一个son div
.father{
border:1px solid red;
width:100px;
height:100px;
margin:50px;
}
.son{
border:1px solid yellow;
margin:5px;
}
html代码:
<body>
<div class="father">
<div class="son">son</div>
</div>
</body>
浏览器中的效果:
给son div,添加position,如下:
.father{
border:1px solid red;
width:100px;
height:100px;
margin:50px;
}
.son{
border:1px solid yellow;
margin:5px;
/*增加以下代码*/
position:absolute;
top:0;
left:0;
}
由于添加了 position:absolute; 现在son div的top,left是相对于body元素,而不是相对于father元素
浏览器效果如下:
为father div添加 position:relative;
.father{
border:1px solid red;
width:100px;
height:100px;
margin:50px;
/*增加以下代码*/
position:relative;
}
.son{
border:1px solid yellow;
margin:5px;
/*增加以下代码*/
position:absolute;
top:0;
left:0;
}
则此时的son 的positon相对于father div 的定位
结论:如果position属性值是absolute的元素放入一个position属性值是relative的元素
则后者成了前者的容器。
也即是说,position为absolute的元素不会去相对于body定位而是相对于当前容器