html - 等宽行上的两个 Flex 元素上方的一个 Flex 元素

标签 html css flexbox

enter image description here

上面是我想要实现的布局。我知道如何在两种不同的颜色(蓝色和红色)上使用 Flexbox 来实现此目的,但是是否可以仅通过父容器上的 Flexbox 来实现此目的?

我的 fiddle :https://jsfiddle.net/jzhang172/ux0h69kw/

.container{
  display:flex;
  justify-content:center;
  align-items:stretch;
  width:100%;
  flex-direction:column;

}
.one{
  height:300px;
  width:100%;
  background:blue;
}
.two{
  width:50%;
  height:300px;
  background:red;
}
*{
  margin:0px;
  padding:0px;
}
<div class="container">
  <div class="one">
  </div>
  <div class="two"></div>
  <div class="two"></div>
</div>

最佳答案

使用多行行布局而不是列:

.container {
  flex-flow: row wrap;
}

* {
  margin: 0px;
  padding: 0px;
}
.container {
  display: flex;
  flex-wrap: wrap;
}
.one {
  height: 300px;
  width: 100%;
  background: blue;
}
.two {
  height: 300px;
  width: 50%;
  background: red;
}
<div class="container">
  <div class="one"></div>
  <div class="two"></div>
  <div class="two"></div>
</div>

一旦浏览器开始支持 Flexbox 中的强制中断,您将不需要宽度。

* {
  margin: 0px;
  padding: 0px;
}
.container {
  display: flex;
  flex-wrap: wrap;
}
.one, .two {
  height: 300px;
  flex: 1;
}
.one {
  background: blue;
  page-break-after: always; /* CSS 2.1 syntax */
  break-after: always; /* New syntax */
}
.two {
  background: red;
}
<div class="container">
  <div class="one"></div>
  <div class="two"></div>
  <div class="two"></div>
</div>

关于html - 等宽行上的两个 Flex 元素上方的一个 Flex 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35760434/

相关文章:

caching - HTML5会支持离线缓存音频的访问吗?

javascript - 如何使用带有 html 和 css 的 javascript 或 jquery 将选定节点从一个 TreeView 复制到另一个 TreeView ?

javascript - 用动画移动 div

html - 从字体到跨度(大小和颜色)和背面的正则表达式(VB.NET)

html - 文本溢出省略号和 flex 在 Firefox 上不起作用

html - flexbox 表格中的水平和垂直对齐

css - Flexbox 填充底部在 Firefox 和 Safari 中失败

html - 在 springfox-swagger-ui 中渲染 html

html - 寻呼机上一个/下一个语义

html - 内部 div 不遵守相对于父 div 的 margin-top