【发布时间】:2014-10-23 13:23:53
【问题描述】:
我有一个可以垂直扩展和收缩的父 div。里面有两个儿童div。我想根据父 div 的高度来定位孩子:
-
vertically: 如果父 div 的高度允许两个子元素垂直放置。
- 父母 ---------------------------------- ----------------------------------
|-child1 ------------|
|------------------------------------|
|-child2 ---------------------------------|
|--------------------------------------------|
|
|
|------------------------------------------------- ----------------------------------------------------
- 父母 ---------------------------------- ----------------------------------
-
horizontally:如果父 div 的高度没有足够的空间让孩子垂直设置。
- 父母 ---------------------------------- ----------------------------------
|-child1 --------------||-child2 ----------------------------- ----|
|------------------------||------------------------ --------------------|
|------------------------------------------------- ----------------------------------------------------
- 父母 ---------------------------------- ----------------------------------
我尝试设置父级的相对位置和子级的绝对位置,其中一个顶部 = 0,另一个底部 = 0,但是当父 div 缩小时它们会重叠。
HTML 代码:
<div id="screen_header">
<div id="sh_header">Header text</div>
<div id="sh_subheader">Explanation text</div>
</div>
CSS 代码:
#screen_header{
position: relative;
}
#sh_header{
font-size: 24px;
padding: 10px;
position: absolute;
top: 0px;
}
#sh_subheader{
padding-left: 10px;
position: absolute;
bottom: 0px;
}
有什么想法吗?
谢谢,
【问题讨论】:
-
你试过浮动吗???即。给两个 div
float:left -
如果你也能发一个fiddle,我们帮你解决问题会容易得多..
-
是的,请将html和css粘贴到jsfiddle.net
-
这是你想要的吗???jsfiddle.net/yyL6aq8c
-
使用 float: left 我总是让孩子水平对齐。但我希望只有当父级的高度不允许它们垂直对齐时才会发生这种情况。