使两个浮动CSS元素具有相同的高度

Dam*_*ien 16 html css layout

我有两个元素,它们的高度可以不同,并且彼此相邻.问题是,如果一个盒子高于另一个盒子,它看起来很丑陋.所以我希望它们的高度相同.

我认为可行的一种方法是将它们包装在容器div中,并希望较高的一个调整它的大小,较小的一个扩展以适应空间:

HTML:

<div id="outerBox">
<div class="innerBoxLeft"></div>
<div class="innerBoxRight"><br /><br /><br /></div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.outerBox
{
width: 100%;
}

.innerBoxLeft
{
float:left;
width: 45%;
height: 100%;
}

.innerBoxRight
{
float:right;
width: 45%;
height: 100%;
}
Run Code Online (Sandbox Code Playgroud)

不行.我相信这可能是因为外部div没有设定的高度,并且由于某种原因,较小的盒子和它的100%高度没有任何作用.我不能给它一个固定的高度,因为那样会打败这一点.

所以,除非有另一种方式,我想我会问:我怎样才能将子元素的高度设置为它的父元素的高度?

谢谢

but*_*oxa 23

你为什么不用桌子?

这太荒谬了.用户想要查看表格.HTML语言提供了一个表元素来实现用户想要的目标.然而,我们使用整个库(我正在查看JQuery答案)来实现w/oa表的目标,即使它意味着在客户端上运行的脚本!

  • 问题不在于规模,而在于脚本行为.您可以通过scipt的动态方式解决静态布局问题.在慢速计算机上,您可以在脚本执行时看到布局更改.如果用户关闭了Javascript,则布局错误.应该尝试从Javascript(动作)中的CSS(布局)单独的HTML(内容),而不是解决彼此的问题. (10认同)
  • 表没有达到OP的目标,如果表格数据使用表格,如果你使用表格来解决布局问题,那么你做得不对. (3认同)

zer*_*ble 11

我认为表应该用于创建它们 - 这就是存储数据,而不是显示布局.

如果你想要好的,跨浏览器和无黑客的CSS解决方案 - 请查看这篇文章.

  • 虽然我同意你的表评论,但这个解决方案基本上是犯了非语义标记的错误.使用表来表示不是真正的表(不一定是严格的数据)会犯同样的罪,因为内容不应该是表.在IMO的前面,多个非语义div专门用来制作背景颜色的人造柱.如果您已经有这些包装器,出于语义原因(页面>内容>部分>文章等),那么我想它会起作用. (3认同)