Css 3个分区,并排,一个水平对齐,另一个占用剩余空间,不在中心分区后面

Css 3个分区,并排,一个水平对齐,另一个占用剩余空间,不在中心分区后面,css,html,Css,Html,我一直在论坛上寻找,我找不到类似的问题。在我看来,一个简单的溢出:隐藏可以解决这个问题,但它不起作用 我在这里创建了一个示例: 因此,它想要的是让“side”div(左和右)占据中心div(水平对齐)留下的所有空间。中心div的大小可以有一个固定的宽度,但最好不是 问题是我不想让侧面的div保持在中间div的后面,因为我要对这些图像进行“覆盖”操作,使其具有一点透明度。背景图像(森林)应该是可见的,因此侧面的div不应该占用中间div后面的任何空间。您可以使用CSS表格布局来实现这一点 在这个

我一直在论坛上寻找,我找不到类似的问题。在我看来,一个简单的
溢出:隐藏
可以解决这个问题,但它不起作用

我在这里创建了一个示例:

因此,它想要的是让“side”
div
(左和右)占据中心div(水平对齐)留下的所有空间。中心div的大小可以有一个固定的宽度,但最好不是


问题是我不想让侧面的
div
保持在中间div的后面,因为我要对这些图像进行“覆盖”操作,使其具有一点透明度。背景图像(森林)应该是可见的,因此侧面的
div
不应该占用中间div后面的任何空间。

您可以使用CSS表格布局来实现这一点

在这个演示中,第二个div正好占据了他所需要的空间,而第一个和第三个div占据了其余的空间

这也可以通过使用
display:flex
实现,但目前,CSS表格布局具有更好的浏览器支持(IE8+)

HTML:

<div class="Row">
    <div class="Stretch">First</div>
    <div class="Content">second will always occupy as much as he can</div>
    <div class="Stretch">Third</div>
</div>
.Row
{
    width: 100%;
    display: table;
    border-spacing: 5px;
}

.Row > div
{
    display: table-cell;
    background-color: #e5b9b9;
}
.Content
{
    white-space: nowrap;
}
.Stretch
{
    width: 50%;
}
在解决方案中,我在第二个div上使用
nowarp

因此,如果有大量文本需要拆分成行,请放置

标记。

您可以使用CSS表格布局来实现这一点

在这个演示中,第二个div正好占据了他所需要的空间,而第一个和第三个div占据了其余的空间

这也可以通过使用
display:flex
实现,但目前,CSS表格布局具有更好的浏览器支持(IE8+)

HTML:

<div class="Row">
    <div class="Stretch">First</div>
    <div class="Content">second will always occupy as much as he can</div>
    <div class="Stretch">Third</div>
</div>
.Row
{
    width: 100%;
    display: table;
    border-spacing: 5px;
}

.Row > div
{
    display: table-cell;
    background-color: #e5b9b9;
}
.Content
{
    white-space: nowrap;
}
.Stretch
{
    width: 50%;
}
在解决方案中,我在第二个div上使用
nowarp

因此,如果您有很多文本需要拆分成行,请放置

标记。

看看OK avrahamcool,您的解决方案看起来相当不错。我将我的示例更新为您的代码。然而,我必须在中央分区内对UL应用固定宽度,以便在该分区上具有适当的宽度。“nowrap”属性的用途是什么?似乎没有任何效果。。。关于如何不强制将宽度设置为DIV元素的中心,有什么建议吗?你能把HTML和CSS的这一部分用提琴的形式发布吗?这将更容易与你玩,并找到一个好的解决方案。当然!谢谢你的关注!请注意,如果删除UL的宽度,单元格将丢失其格式。。。对于
li
,使用
inline block
而不是
float
。另外:从
ul
li
中删除默认填充-请检查此选项,OK,avrahamcool。这个问题的完美解决方案。非常感谢您的帮助。好的,阿夫拉汉姆库,您的解决方案看起来相当不错。我将我的示例更新为您的代码。然而,我必须在中央分区内对UL应用固定宽度,以便在该分区上具有适当的宽度。“nowrap”属性的用途是什么?似乎没有任何效果。。。关于如何不强制将宽度设置为DIV元素的中心,有什么建议吗?你能把HTML和CSS的这一部分用提琴的形式发布吗?这将更容易与你玩,并找到一个好的解决方案。当然!谢谢你的关注!请注意,如果删除UL的宽度,单元格将丢失其格式。。。对于
li
,使用
inline block
而不是
float
。另外:从
ul
li
中删除默认填充-请检查此选项,OK,avrahamcool。这个问题的完美解决方案。非常感谢你的帮助。