有两个元素与flexbox共享相同的行

Gue*_*lla 6 css flexbox

如果我用flexbox证明一系列元素是合理的,那么有可能让2个元素共享一条线吗?

例如,举个例子:

.outer {
  display: flex;
  flex-direction: column;
  margin-left: auto;
  margin-right: auto;
  width: 50px;
}
.outer .inner {
  width: 50px;
  height: 50px;
  background-color: blue;
  margin-bottom: 20px;
  font-size: 24px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
Run Code Online (Sandbox Code Playgroud)
<div class="outer">
  <div class="inner">1</div>
  <div class="inner">2</div>
  <div class="inner">3</div>
  <div class="inner">4</div>
  <div class="inner">5</div>
  <div class="inner">6</div>
  <div class="inner">7</div>
</div>
Run Code Online (Sandbox Code Playgroud)

元素是直列.是否可以选择某些元素来共享这样的行:

在此输入图像描述

dav*_*r21 5

你可以试试这个。

我所做的是设置.outerflex-flow:row wrap;并设置其width.

然后设置margin.outer .inner:nth-child(3),.outer .inner:nth-child(4)

通过让孩子 3 和 4 设置它的margin并且width仍然不会超过宽度,.outer这样它们仍然会相互内联,另一个孩子将占据整行,因为它们的marginwidth等于宽度.outer

.outer {
  display: flex;
  flex-flow: row wrap;
  margin-left: auto;
  margin-right: auto;
  width: 120px;
  justify-content: center;
  align-items: center;
}
.outer .inner {
  width: 50px;
  height: 50px;
  margin-left: 35px;
  margin-right: 35px;
  margin-bottom: 20px;
  background-color: blue;
  font-size: 24px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.outer .inner:nth-child(3),
.outer .inner:nth-child(4){
  margin-left: 5px;
  margin-right: 5px;
}
Run Code Online (Sandbox Code Playgroud)
<div class="outer">
  <div class="inner">1</div>
  <div class="inner">2</div>
  <div class="inner">3</div>
  <div class="inner">4</div>
  <div class="inner">5</div>
  <div class="inner">6</div>
  <div class="inner">7</div>
</div>
Run Code Online (Sandbox Code Playgroud)