CSS3 Flexbox 3列布局小宽度,拉伸中间一和宽度:右侧max-200px

3 css flexbox

我正在尝试在 Flexbox 中制作 3 列行布局。

左列的宽度需要为 60 像素且不能更大。

然后中心列需要拉伸 100%,右列需要位于右侧且宽度不超过 200px。

| width: 60px | Stretch 100%                           |  width: max-200px |
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

<div class="flex-container">
    <div>LEFT</div>
    <div style="flex-grow: 7">MIDDLE</div>
    <div style="flex-grow: 2">RIGHT</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是CSS:

.flex-container {
  display: flex;
  align-items: stretch;
  flex-flow: row wrap;

}

.flex-container > div {
  margin: 10px;
  text-align: center;
  flex: 0 1 auto;
}
Run Code Online (Sandbox Code Playgroud)

此时中间的 div 没有扩展,因此它将右列推到右侧。

我怎样才能做到这一点?

Tem*_*fif 5

您可以像下面这样调整您的代码:

.flex-container {
  display: flex;
  flex-flow: row wrap;
}

.flex-container>div {
  margin: 10px;
  text-align: center;
  border:1px solid;
  box-sizing:border-box;
}
.flex-container>div:first-child {
   width:60px; /*fixed width*/
   flex-shrink:0; /*avoid shriking*/
}
.flex-container>div:nth-child(2) {
  flex-grow:1; /*can grow*/
}
.flex-container>div:nth-child(3) {
  flex-grow:1;  /*can grow*/
  max-width:200px; /*max-width*/
}
Run Code Online (Sandbox Code Playgroud)
<div class="flex-container">
  <div>LEFT</div>
  <div>MIDDLE</div>
  <div>RIGHT</div>
</div>
Run Code Online (Sandbox Code Playgroud)