CSS – 相对定位的父div不伸展到绝对子div高度

我一直在Google上search,似乎无法使其工作:

我有一个父DIV与相对定位和一个双列子DIV设置里面,都定位绝对。 我需要父DIV的高度与内部的DIV的内容拉伸。

我已经尝试在#content的结束标记之前放置一个.clearfixtypes位,但是我不会浮动任何东西。 我也尝试添加一个float属性到#content div无济于事。 任何人都可以指出我在这里正确的方向。 很明显,我错过了嵌套显示互相影响的东西。

CSS:

#content { width: 780px; padding: 10px; position: relative; background: #8b847d; } #leftcol { width: 500px; position: absolute; } #rightcol { width: 270px; position: absolute; left: 500px; margin-left: 10px; text-align: center; } 

HTML:

 <div id="content"> <div id="leftcol"> <p>Lorem Ipsum</p> </div><!-- /leftcol --> <div id="rightcol"> <img src="images/thumb1.jpg"> <img src="images/thumb2.jpg"> </div><!-- /rightcol --> <br style="clear:both;"> </div><!-- /content --> 

部队的黑暗面是许多被认为不自然的能力的途径。

 $(document).ready(function() { var objHeight = 0; $.each($('#content').children(), function(){ objHeight += $(this).height(); }); $('#content').height(objHeight); });​ 

清理工作,但结果奇怪。 那么我发现一个post,使得它在所有的浏览器更容易和完美。

设置你的孩子div浮动:左/右。 然后把“溢出:隐藏”的父母。 因为你没有指定高度,所以它会完美地包裹到子元素。 我现在还没有使用清理。

你的列div不会影响他们包含div,而他们有绝对的位置,因为他们从正常页面stream中删除。

相反,尝试漂浮,然后有明确的div:两者; 在他们之后。

我刚刚一直在挣扎,发现一个真正的解决scheme,CSS只是将“绝对”div的位置改为“相对”。 这真的有用!

在Mac上testing,使用Safari 5.1.5和Chrome 21.0 ….

希望这会帮助别人。

你不需要position: absolute的这个任务。

 #content { width: 780px; padding: 10px; position: relative; background: #8b847d; } #leftcol { width: 500px; float: left; } #rightcol { width: 270px; position: relative; margin-left: 510px; text-align: center; }