我在安排我的div时遇到了麻烦。我希望将child
div粘贴到parent
div的底部,grandchild_1
和grandchild_2
保持正确放置。我的意思是在grandchild_1
之前grandchild_2
,就像在图片上一样。
这是我尝试过的,但是“孩子”这个部分坚持到顶部:
#parent {
position: relative;
}
#child {
position: absolute; bottom: 0;
}
<div id="parent">
<div id="child">
<div id="grandchild_1">
</div>
<div id="grandchild_2">
</div>
</div>
</div>
任何人都知道我该怎么办?谢谢!
答案 0 :(得分:0)
如果你在父母身上指定一个高度,它会粘在底部。
示例:http://codepen.io/anon/pen/wGqzVd
<div id="parent">
Parent
<div id="child">
Child
<div id="grandchild_1">
Grandchild 1
</div>
<div id="grandchild_2">
Grandchild 2
</div>
</div>
</div>
div {
padding: 5px;
}
#parent {
position: relative;
background: lightgray;
height: 200px;
width: 150px;
}
#child {
position: absolute;
bottom: 5px;
background: yellow;
}
#grandchild_1 {
background: pink;
}
#grandchild_2 {
background: lightblue;
}
答案 1 :(得分:0)
提供的代码按原样运行...假设父级的高度大于子级的高度。
#parent {
position: relative;
height: 200px;
background: pink;
}
#child {
position: absolute;
width: 100%;
bottom: 0;
background: green;
}
#grandchild_1,
#grandchild_2 {
height: 25px;
background: red;
margin: 10px;
}
&#13;
<div id="parent">
<div id="child">
<div id="grandchild_1">GC1
</div>
<div id="grandchild_2">GC2
</div>
</div>
</div>
&#13;
作为定位的替代方法,flexbox可以做同样的事情...... 并且孩子将影响父母的高度,绝对定位的孩子不能 。
#parent {
position: relative;
height: 200px;
background: pink;
display: flex;
flex-direction: column;
justify-content: flex-end;
}
#child {
width: 100%;
background: green;
}
#grandchild_1,
#grandchild_2 {
height: 25px;
background: red;
margin: 10px;
}
&#13;
<div id="parent">
<div id="child">
<div id="grandchild_1">GC1
</div>
<div id="grandchild_2">GC2
</div>
</div>
</div>
&#13;