Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.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
Html 内联元素的匹配高度_Html_Css - Fatal编程技术网

Html 内联元素的匹配高度

Html 内联元素的匹配高度,html,css,Html,Css,我有一个问题(大约是我第三次碰到它),我有一个容器,其中包含一个左和右div 如果它们的长度不同(右边比左边长或相反),我如何让另一个在不使用Javascript的情况下[在高度上]拉伸 我不想产生表,我认为inherit可以做到(但它只是继承auto)。似乎没有一个简单的答案。还是我应该用桌子!?有什么问题吗 这个问题让我心烦意乱,因为它应该是多么愚蠢的简单 提前谢谢 编辑:我将举一个例子: <body style="background: #000000 url(????.com);"

我有一个问题(大约是我第三次碰到它),我有一个容器,其中包含一个左和右div

如果它们的长度不同(右边比左边长或相反),我如何让另一个在不使用Javascript的情况下[在高度上]拉伸

我不想产生表,我认为inherit可以做到(但它只是继承auto)。似乎没有一个简单的答案。还是我应该用桌子!?有什么问题吗

这个问题让我心烦意乱,因为它应该是多么愚蠢的简单

提前谢谢

编辑:我将举一个例子:

<body style="background: #000000 url(????.com);">
    <div id="container" style="margin:0 auto; width:996px; height: auto; background: transparent; overflow:hidden;">
        <div id="left" style="float:left; width:690px">
             <div style="background-color:#FFFFFF;">Content</div>
             <div style="background-color:#FFFFFF;">content</div>
        </div>
        <div id="right" style="float:left; width:306px">
             <div style="background: transparent;">Content<br />Content<br />content<br/>Last line</div>
             <div style="background-color:#FFFFFF;">Content</div>
        </div>
    </div>
</body>

内容
内容
内容
内容
内容
最后一行 内容
如你所知,左边比右边小得多。身高:100%似乎什么都不做

结果:没有JS支持是不可能的。为大家干杯。

对于任何相对简单的人造柱都可以完成这项工作,您只需在垂直方向上重复一幅图像,模仿柱的简单纯色bg颜色。如果有更复杂的事情,你需要做一个组合排序

有关更多技巧,请参见我的回答:

对于任何相对简单的人造柱都可以完成这项工作,您只需在垂直方向上重复一幅图像,模仿柱的简单纯色bg颜色。如果有更复杂的事情,你需要做一个组合排序

有关更多技巧,请参见我的回答:

如果您需要对IE6和IE7的支持,恐怕您无法在没有表或javascript的css中实现这一点

对于其他浏览器,可以选择“显示:表格”单元格和“显示:表格行”方式


当然,如果你真的不需要列的高度相等,而只是看起来像那样,那么使用背景图像来假装是可行的。

如果你需要对IE6和IE7的支持,恐怕你不能在没有表格或javascript的css中做到这一点

对于其他浏览器,可以选择“显示:表格”单元格和“显示:表格行”方式


当然,如果你真的不需要列的高度相等,而只是看起来像那样,那么使用背景图像来假装是可行的。

如果你只是想让列的长度相同,你可以使用这个丑陋的技巧:

.rightDiv, .leftDiv
{
    margin-bottom: -1000px;
    padding-bottom: 1000px; /*1000 + real padding*/
}
.wrapper
{
    overflow: hidden;
}
基本上,这会导致两个列都超出其应有的1000px,并隐藏不需要的位。但不适用于底部边框


显然,这实际上并没有使它们的长度相同。

如果您只是想让列看起来是相同的长度,您可以使用以下难看的技巧:

.rightDiv, .leftDiv
{
    margin-bottom: -1000px;
    padding-bottom: 1000px; /*1000 + real padding*/
}
.wrapper
{
    overflow: hidden;
}
基本上,这会导致两个列都超出其应有的1000px,并隐藏不需要的位。但不适用于底部边框



显然,这并不能使它们的长度相同。

你想在标题中说“高度”吗?你想让我帮你修改标题吗?我还是不知道你是问高度还是宽度。高度。我添加了一个示例。在您的示例中,您(或用户)如何知道一个div比另一个div短,以及为什么这很重要?你的问题似乎是在转移注意力。当这些元素明显是“块”元素时,为什么要称它们为“内联”元素?它们并排排列,这是内联的,不是吗?它们有背景图像,但是我希望这些容器div中的一个或两个框是透明的,以便看到背景。如果将容器的容器设置为背景图像,则会阻止透明框看到正确的背景。我只是觉得不需要所有的细节。你想在你的标题中说“高度”吗?你想让我帮你修改标题吗?我还是不知道你是问高度还是宽度。高度。我添加了一个示例。在您的示例中,您(或用户)如何知道一个div比另一个div短,以及为什么这很重要?你的问题似乎是在转移注意力。当这些元素明显是“块”元素时,为什么要称它们为“内联”元素?它们并排排列,这是内联的,不是吗?它们有背景图像,但是我希望这些容器div中的一个或两个框是透明的,以便看到背景。如果将容器的容器设置为背景图像,则会阻止透明框看到正确的背景。不,伙计,我只是觉得不需要所有的细节。就像我想的那样。所以我的第二个问题是:有什么理由我“不应该”使用表格吗?或者这就足够了第二个官方问题/线索我认为杰伦是对的。。。我先前发布的答案只有在容器上设置了高度时才有效。如果使用javascript执行此操作,请在div上查找名为scrollHeight或overflowHeight的属性。这将为您提供div的高度,并可用于设置其他div的高度。不使用表有很多原因,请四处看看(渲染时间、屏幕阅读器等)。然而,使用表也有正当的理由,但我绝对不建议将整个页面包装在一个表中。我想你必须决定什么更糟糕,是表格还是javascript:-)嗯,我只是想让我的网站在没有或有javascript的情况下完全显示出来…:(@Zoidberg:我不知道你的解决方案的跨浏览器兼容性,我通常已经使用jQuery了,然后计算和设置高度是非常简单的。正如我所想的。所以我的第二个问题是:有什么理由我“不应该”吗使用表格?或者这是否足够作为第二个官方问题/线索我认为jeroen是对的…我之前发布的答案只有在容器上设置了高度时才有效。如果使用javascript,请在div上查找名为scrollHeight或overflowHeight的属性。这将为您提供div的高度,并可用于设置