我在另一个div中有一个div。内部div的边距为0,自动集中它。但是,我不能让它浮动到底部而不是绝对的。无论如何将相对div浮动到普通div的底部?
答案 0 :(得分:15)
不使用position: absolute
,您必须垂直对齐它。
根据the docs:
,您可以使用vertical-align: bottom
vertical-align CSS属性指定内联或表格单元格框的垂直对齐方式。
因此,要么将外部div设置为内联元素,要么将其设置为table-cell
:
#outer {
height: 200px;
width: 200px;
border: 1px solid red;
display: table-cell;
vertical-align: bottom;
}
#inner {
border: 1px solid green;
height: 50px;
}
<div id="outer">
<div id="inner">
</div>
</div>
答案 1 :(得分:5)
现在您只需使用display: flex
来解决所有这些对齐问题。
在您的情况下,您可以简单地使父项为flex,flex-direction column
(默认为行)和justify-content: flex-end
。这种方法的优点是,如果父项中有多个项目,它也可以使用。
如果您有多个,并希望从父项的开头到结尾都对齐,您可以将justify-content
更改为其他属性,例如space-between
或space-evenly
。
#outer {
height: 200px;
width: 200px;
border: 1px solid red;
display: flex;
justify-content: flex-end;
flex-direction: column;
}
#inner {
border: 1px solid green;
height: 50px;
}
&#13;
<div id="outer">
<div id="inner">
</div>
</div>
&#13;
答案 2 :(得分:1)
将此样式添加到内部div。
position: relative;
top: 100%;
transform: translateY(-100%);
答案 3 :(得分:0)
除非你的内容是静态高度,否则我发现的唯一方法是使用jquery这样做:
$(document).ready(function(){
inner_height = $('#inner-div').height();
outer_height = $('#outer-div').height();
margin_calc = (outer_height - inner_height)
$('#inner-div').css('margin-top', (margin_calc+'px'));
});
如果另一列的高度较大,这将适用于contains-div中的column-div。
令人难以置信的是,这个简单的事情不是通过css-property(即“float:bottom”)“内置”,不会以绝对等方式破坏其他所有内容。
答案 4 :(得分:0)
看到这个
.container {
display: flex;
flex-direction: column;
justify-content: space-between;
}
答案 5 :(得分:-2)
您可以通过将最高值设置为100%来完成此操作。
<div class="outer">
<div class="inner"></div>
</div>
.outer {height:400px;width:400px;background:#eaeaea;}
.inner {position:relative;top:100%;height:50px; width:50px; background:#fad400;}
在这里查看这个小提琴:http://jsfiddle.net/62wqufgk/