Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 2列div布局:右列固定宽度,左列流体,相对高度_Css_Html_Fixed_Fluid - Fatal编程技术网

Css 2列div布局:右列固定宽度,左列流体,相对高度

Css 2列div布局:右列固定宽度,左列流体,相对高度,css,html,fixed,fluid,Css,Html,Fixed,Fluid,我想要一个有两列、两个div的布局,其中左一列具有流体宽度,右一列具有固定宽度。到目前为止还不错——请参见下面的jsfiddle——但是,右栏的高度必须与左栏的高度相关。因此,如果我在流体列中有一些内容,并将调整浏览器窗口的大小,从而增加或减少左列的高度,则右列应跟随并获得相同的高度 到目前为止,我得到的是: 编辑:已解决,请参见下面的注释,ol'双栏布局。除非您想借助JavaScript跟踪一列的高度以调整另一列的高度,否则您将无法以您期望的方式执行此操作。在这些情况下,使用height=“1

我想要一个有两列、两个div的布局,其中左一列具有流体宽度,右一列具有固定宽度。到目前为止还不错——请参见下面的jsfiddle——但是,右栏的高度必须与左栏的高度相关。因此,如果我在流体列中有一些内容,并将调整浏览器窗口的大小,从而增加或减少左列的高度,则右列应跟随并获得相同的高度

到目前为止,我得到的是:


编辑:已解决,请参见下面的注释,ol'双栏布局。除非您想借助JavaScript跟踪一列的高度以调整另一列的高度,否则您将无法以您期望的方式执行此操作。在这些情况下,使用height=“100%”通常也不起作用


你所能做的是类似于旧技术的事情。div不会调整大小,但是父元素上有一个垂直平铺的背景图像,这给人一种列相等的错觉。老式的,是的,但很有效。

您可以使用JavaScript获取左侧
div
的高度,然后将右侧
div
设置为该高度

要获取左div的高度,请执行以下操作:

var divHeight = document.getElementById('left').offsetHeight;
要设置右div的高度,请执行以下操作:

document.getElementById('right').style.height = divHeight+'px';

所以,我从@thirtydot得到了我的问题的答案(见上面的评论):


你需要支持IE7吗?如果不是,则可以使用“显示:表格单元格”


你需要支持IE7吗?如果没有,则可以使用
显示:表格单元格
@三十多岁,非常感谢,这很有魅力!不需要IE7支持。不幸的是,这将不起作用,因为我需要两列具有相同的高度。原因是我需要在右柱的中间(垂直)上放置一个按钮。看起来你从ThirtyDot那里得到了一个好主意谢谢你的输入,但是我需要让它在没有Javascript的情况下工作。Thirtydot提供了一个解决方案,见上文。试图找到一种方法将评论设置为可接受的答案,但似乎找不到一个好方法。如果自己发布这样的答案是错误的,请纠正我。在哪里添加表格单元格属性?