2011-12-07 38 views
1

我有以下情况:http://jsfiddle.net/F3SqM/2/如何搭配浮动兄弟的div的高度

我有两列,我只知道columnB的高度。两列都是浮动的,我希望columnA匹配columnB的高度(因此是全高)。

我试着在columnA上设置相对于父级的高度:100%,但是这只在父级具有指定高度时才起作用,因为不在高度:100%。不幸的是,父级的高度依赖于columnB,而B级的高度不能是静态的。

我环顾四周,尝试了我找到的潜在解决方案,但没有一个能够工作,因为我在网上发现的大多数场景都是处理具有指定高度的容器。有任何想法吗?

回答

6

个人而言,我喜欢从www.ejeliot.com

http://jsfiddle.net/spacebeers/s8uLG/3/

的高度相等栏时设定你的容器了溢出设置为隐藏,然后在每一个DIV加负边距和相等的正填充-底部。

#container { overflow: hidden; } 
#container div { float: left; background: #ccc; width: 200px; margin-bottom: -2000px; padding-bottom: 2000px; } 
#container .col2 { background: #eee; } 

<div id="container"> 
    <div> 
     <p>Content 1</p> 
    </div> 
    <div class="col2"> 
     <p>Content 2</p> 
     <p>Content 2</p> 
     <p>Content 2</p> 
     <p>Content 2</p> 
    </div> 
</div> 

人造列也不错,可能更容易建立,但是,如果你反对使用的图像是真的死了,这是一个不错的方法。

+1

感谢这个很酷的技术,我在这里丰富了这个概念:http://jsfiddle.net/jplew/yPMVJ/ –

0

你可以把B列中柱A,这会使列A包裹B并因此占据相同的高度。

-1

您可以使用javascript更改任何其他对象的高度,但不能单独使用CSS。

你说B的高度是动态的,但没有你的代码,有点难以理解为什么它可以是动态的,以及我如何为你写js代码。

+0

啊,我beent尽量避免使用JavaScript,但它似乎要朝在这个方向上,我正在为它编写代码,columnB的高度是动态的,因为它列出了一个投资组合的图像(左栏是为投资组合添加描述)。每个投资组合,所以每个投资组合的高度将不同于下一个。 – Prusprus

0

你可以给需要高度父元素在this例如