绝对位置,但相对于父位置

我在另一个div内有两个div,并且我想使用css将一个子div定位到父div的右上角,另一个子div定位到父div的底下。即,我想对两个子div使用绝对定位,但是将它们相对于父div而不是页面定位。我怎样才能做到这一点?

范例html:

<div id="father">
   <div id="son1"></div>
   <div id="son2"></div>
</div>
西门米亚2020/03/18 19:31:29

如果您不给父母任何职位,那么默认情况下会采取static如果您想了解这种差异,请参考此示例

示例1:

http://jsfiddle.net/Cr9KB/1/

   #mainall
{

    background-color:red;
    height:150px;
    overflow:scroll
}

在此,父类没有位置,因此根据正文放置元素。

示例2:

http://jsfiddle.net/Cr9KB/2/

#mainall
{
    position:relative;
    background-color:red;
    height:150px;
    overflow:scroll
}

在此示例中,父级具有相对位置,因此元素绝对位于相对父级内部。

ProAGil2020/03/18 19:31:29
div#father {
    position: relative;
}
div#son1 {
    position: absolute;
    /* put your coords here */
}
div#son2 {
    position: absolute;
    /* put your coords here */
}
LEYPro前端2020/03/18 19:31:29

如果有人想将孩子div直接放在父母的下面

#father {
   position: relative;
}

#son1 {
   position: absolute;
   top: 100%;
}

工作演示Codepen

ㄏ囧囧ㄟ2020/03/18 19:31:29
#father {
   position: relative;
}

#son1 {
   position: absolute;
   top: 0;
}

#son2 {
   position: absolute;
   bottom: 0;
}

这工作,因为position: absolute手段类似“使用toprightbottomleft来定位自己相对于谁拥有最近的祖先position: absoluteposition: relative”。

因此,我们使#fatherhave position: relative和子代都有position: absolute,然后使用topbottom定位子代。