【问题标题】:Embedding flex items within flexbox grid [duplicate]在弹性盒网格中嵌入弹性项目[重复]
【发布时间】:2018-10-20 18:20:51
【问题描述】:

我在根据以下图像布局在 flexbox 中创建网格时遇到问题。我花了两天时间弄清楚如何在不设置位置的情况下解决它:absoulte hacks。有人可以帮我用 flex good practices 解决它吗?

【问题讨论】:

  • 除非您向我们展示您的代码,否则我们无法为您提供帮助。
  • 您尝试过display: grid 并使用它吗? Flexbox 是单向的,网格可以很容易地得到你想要的布局。
  • 显示你所拥有的代码。让它成为一个sn-p

标签: html css flexbox


【解决方案1】:

我不是 flexbox 方面的专家,但 Rikin 似乎是对的。网格更适合这样的布局。

在 flexbox 中,您必须将 flex-container 放入 flex-container 中,以获得您想要的布局。试试我下面的代码,你会明白的。不过,你必须自己弄清楚左边的中间列。

干杯!

HTML

<div class="wrapper">
<div class="col-left">
<div class="col-left-row-1 color green">
  Lorem 1
</div>
<div class="col-left-row-2 color yellow">
  Lorem 2,3,4
</div>
<div class="col-left-row-3 color  red">
  Lorem 5
</div>
</div>
<div class="col-right color blue">
  Lorem 6
</div>
</div>

CSS

.wrapper {
  display: flex;
  height: 500px;
  color: darkblue;
}
.col-right {
  flex-basis: 30%;
}
.col-left {
  flex-basis: 70%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.red {
  background-color: red;
  flex-grow: 1;
}
.green {
  background-color: green;
  flex-grow: 3;
}
.blue {
  background-color: blue;
}
.yellow {
  background-color: yellow;
  flex-grow: 2;
}
.color {
  padding: 30px;
  margin: 2px;
}

【讨论】:

  • 嗨@langer-197,谢谢代码sn-p。我在以下 sn-p 中添加了 2、3、4 框:codepen.io/anon/pen/jxzebb。它工作得很好。再次感谢
  • 不客气!很高兴它对你有用!
猜你喜欢
  • 1970-01-01
  • 2017-08-24
  • 2016-10-22
  • 2015-09-09
  • 2015-07-03
  • 2021-02-06
  • 2022-12-21
  • 2015-08-25
  • 2017-06-21
相关资源
最近更新 更多