将最后一个元素移动到Flex容器中的下一行

yAn*_*Tar 6 html css css3 flexbox

我的HTML代码中有这个结构:

<div style="display:flex">
    <div class="div_first">1</div>
    <div class="div_second">2</div>
    <div class="div_third">3</div>
    <div class="div_next_line">
      <div class="div_first">4</div>
      <div class="div_second">5</div>
      <div class="div_third">6</div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

第二行中是否有4 5 6与1 2 3相同的列,如下所示:

1    2    3
4    5    6
Run Code Online (Sandbox Code Playgroud)

HTML代码的结构无法更改.

Mic*_*l_B 16

适用flex-wrap于容器.

适用flex: 1 0 33%于前三个孩子div.

适用于第四个div flex-basis: 100%; display: flex.

适用于第四节的孩子 flex: 1 0 33%.

想法是强制第四个项目换行,然后让它的子项复制主容器中子项的行为.

  • 谢谢,flex-basis:100%帮助我. (2认同)

the*_*het 8

使用flex-wrap父和flex-basis为孩子们:

CSS:

.parent {
    flex-wrap: wrap;
    width: 400px;
    border: 2px solid blue;
}
.parent > .div_next_line {
    display: flex;
}
.parent > div {
    display: inline-block;
    flex-grow: 1;
    flex-basis: calc(100% / 3);
}
.parent > div > div {
    display: inline-block;
    flex-grow: 1;
    flex-basis: calc(100% / 3);
}
Run Code Online (Sandbox Code Playgroud)

JSFiddle:https ://jsfiddle.net/ghjbhjLu/1/

参考:

CSS 技巧 | 柔性

强制 n 项,所以