我正在尝试在父div中定位clid div,但父div的高度应该是动态的,所以它应该在子div放置在内部后展开或缩小。我怎么能完成它?孩子应该一直留在父母的内心。
由于我根本不是设计师,所以我读了“Learn CSS Positioning in Ten Steps”来学习一点。
这个问题“Make absolute positioned div expand parent div height”。
由于
CSS
#header
{
margin: 0 auto;
border: 1px solid #000000;
width: 500px;
background: #aa0000;
}
#body
{
margin: 0 auto;
border: 1px solid #000000;
width: 500px;
background: #ff0000;
}
#footer
{
margin: 0 auto;
border: 1px solid #000000;
width: 500px;
background: #dd0000;
}
#section_one
{
position: relative;
width: 100px;
height: 100px;
background: #EEEEEE;
top: 10px;
left: 10px;
}
#section_two
{
position: relative;
width: 100px;
height: 100px;
background: #EEEEEE;
top: 10px;
left: 150px;
}
HTML
<div id="header">HEARDER</div>
<div id="body">
<div id="section_one">SECTION ONE</div>
<div id="section_two">SECTION TWO</div>
</div>
<div id="footer">FOOTER</div>
答案 0 :(得分:1)
如果只是对齐这些框,请使用margin
&amp; padding
和inline-block
而不是绝对定位。
像这样:http://jsfiddle.net/avrahamcool/JVh8e/1/
<强> HTML:强>
<div id="cover">
<div id="section_one">SECTION ONE</div>
<div id="section_two">SECTION TWO</div>
</div>
<强> CSS 强>
#cover
{
margin: 0 auto;
padding: 5px;
width: 500px;
background-color: #000000;
}
#section_one, #section_two
{
display: inline-block;
width: 100px;
height: 100px;
margin: 5px;
background-color: #EEEEEE;
}
正如您已经在您提供的链接中读到的那样,从流程中删除了一个绝对元素,因此,除非您愿意编写一个找到封面所需高度的脚本,否则它是不可能的。
另外:使用background-color
代替background
(如果只应用颜色)
<强>更新强> 这是新的小提琴(在你编辑之后): http://jsfiddle.net/avrahamcool/JVh8e/5/
更新2: 用脚本查看这个工作示例。 http://jsfiddle.net/avrahamcool/JVh8e/6/
答案 1 :(得分:1)
您可以使用float:left,然后使用margin
定位这些部分<强> FIDDLE 强>
<div id="header">HEARDER</div>
<div id="body">
<div class="section one">SECTION ONE</div>
<div class="section two">SECTION TWO</div>
<div class="section three">SECTION THREE</div>
<div class="section four">SECTION FOUR</div>
</div>
<div id="footer">FOOTER</div>