gpt4 book ai didi

html - 等宽 flexbox 行,不管列数或列内容

转载 作者:行者123 更新时间:2023-11-27 23:09:30 27 4
gpt4 key购买 nike

我正在尝试通过 flexbox 创建三行,其中将包含可变数量的列(顶部和底部的行将在数量上匹配)和一个中间列,它只是一个列。

由于列数是可变的,因此父级上没有设置宽度。

我正在努力让中间列的宽度与顶部和底部行的宽度相匹配。

section {
margin: 0 auto;
display: flex;
}

.col {
width: 100px;
height: 100px;
border-color: #000;
border-style: solid;
border-width: 1px 0px 1px 1px;
}

.col:last-child {
border-right: 1px solid #000;
}

.middle {
height: 100px;
width: inherit;
border-color: #000;
border-style: solid;
border-width: 0px 1px 0px 1px;
}
<section>
<div class="col">1</div>
<div class="col">2</div>
<div class="col">3</div>
<div class="col">4</div>
<div class="col">5</div>
</section>
<section>
<div class="middle">Middle</div>
</section>
<section>
<div class="col">1</div>
<div class="col">2</div>
<div class="col">3</div>
<div class="col">4</div>
<div class="col">5</div>
</section>

https://jsfiddle.net/o5xLuq51/

最佳答案

使这些元素的整体容器(在本例中恰好是 body 元素)成为具有列方向的内联级 flex 容器。

这将创建一个列,其宽度由最长的行设置。

因为 flex 元素的初始设置是 align-self: stretch,所以所有没有定义宽度的行都会扩展到容器的整个宽度 (more details)。

然后要让 .middle 扩展其父级的整个宽度,请使用 flex-grow: 1

/* NEW */
body {
display: inline-flex;
flex-direction: column;
/* border: 1px dashed red; */ /* uncomment to see container borders */
}

section {
/* margin: 0 auto; */
display: flex;
}
.col {
width: 100px;
height:100px;
border-color: #000;
border-style: solid;
border-width: 1px 0px 1px 1px;
}
.col:last-child {
border-right: 1px solid #000;
}
.middle {
flex-grow: 1; /* NEW */
height: 100px;
/* width: inherit; */
border-color: #000;
border-style: solid;
border-width: 0px 1px 0px 1px;
}
<section>
<div class="col">1</div>
<div class="col">2</div>
<div class="col">3</div>
<div class="col">4</div>
<div class="col">5</div>
</section>
<section>
<div class="middle">Middle</div>
</section>
<section>
<div class="col">1</div>
<div class="col">2</div>
<div class="col">3</div>
<div class="col">4</div>
<div class="col">5</div>
</section>

关于html - 等宽 flexbox 行,不管列数或列内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46895237/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com