我在另一个div内有两个div,并且我想使用css将一个子div定位到父div的右上角,另一个子div定位到父div的底下。即,我想对两个子div使用绝对定位,但是将它们相对于父div而不是页面定位。我怎样才能做到这一点?
范例html:
<div id="father">
<div id="son1"></div>
<div id="son2"></div>
</div>
我在另一个div内有两个div,并且我想使用css将一个子div定位到父div的右上角,另一个子div定位到父div的底下。即,我想对两个子div使用绝对定位,但是将它们相对于父div而不是页面定位。我怎样才能做到这一点?
范例html:
<div id="father">
<div id="son1"></div>
<div id="son2"></div>
</div>
div#father {
position: relative;
}
div#son1 {
position: absolute;
/* put your coords here */
}
div#son2 {
position: absolute;
/* put your coords here */
}
如果有人想将孩子div直接放在父母的下面
#father {
position: relative;
}
#son1 {
position: absolute;
top: 100%;
}
工作演示Codepen
#father {
position: relative;
}
#son1 {
position: absolute;
top: 0;
}
#son2 {
position: absolute;
bottom: 0;
}
这工作,因为position: absolute
手段类似“使用top
,right
,bottom
,left
来定位自己相对于谁拥有最近的祖先position: absolute
或position: relative
”。
因此,我们使#father
have position: relative
和子代都有position: absolute
,然后使用top
和bottom
定位子代。
如果您不给父母任何职位,那么默认情况下会采取
static
。如果您想了解这种差异,请参考此示例示例1:
http://jsfiddle.net/Cr9KB/1/
在此,父类没有位置,因此根据正文放置元素。
示例2:
http://jsfiddle.net/Cr9KB/2/
在此示例中,父级具有相对位置,因此元素绝对位于相对父级内部。