如何设置一个div与另一个div具有相同的高度?
问题:如何使一个div的高度与另一个div的高度一致?
原因:在这个问题中,作者想要实现的效果是使两个div的高度相同,但是由于div元素默认是根据内容来确定高度的,所以需要通过一些技巧来实现。
解决方法:作者尝试使用了display: inline-block属性,并提供了一个示例链接来演示该方法的效果。
代码如下:
#header, #menu, #content, #footer { width: 600px; height: 500px; background: #ccc; padding-left: 10px; display: inline-block; } #container { width: 2500px; }
以上是作者提供的代码示例,通过将需要高度相同的div元素设置为display: inline-block,可以使它们在同一行显示,并且它们的高度会自动适应最高的一个div元素的高度。
还有一个示例链接http://jsfiddle.net/SMxRs/1/,可以点击链接查看实际效果。
这种方法可以解决div元素高度不一致的问题,是一种简单有效的解决方案。
如何使一个div的高度与另一个div相同?
如果您不太关心IE6和IE7,最简单的答案是在每个列上设置display: table-cell;
。只需使用这个纯CSS2.1解决方案,就可以参考http://ie7nomore.com/css2only/table-layout/(两个列都是contenteditable的,所以您可以在其中一个或两个列中轻松添加大量文本)。
不,这并不是“使用表格”,正如某些人所争论的那样:display
属性的table
值的渲染方式与HTML元素table
相同,但它仍然是应用于div
(或任何其他元素)的语义(即无语义);)
然后,对于IE6和IE7,您可以使用条件注释进行简单的回退(例如,将背景应用于其中一个列,如果在某些页面中另一个列更长... 不用管它,这是旧的IE,您的文本仍然可读)。
另一种方法(一种视觉技巧)是伪列技术。
来个演示和一些代码怎么样?比试图描述该技术要好得多。