使用 flex 或 grid 布局排列元素

给定以下 html 结构:

1 2 3 4
登录后复制

我们希望在不修改 html 的情况下,使用 flex 或 grid 布局,将其排列成以下效果:

  • 1 和 4 自适应宽度
  • 2 和 3 组成上下两行,占剩余空间

flex 布局解决方案:

div {
  display: flex;
  justify-content: space-between;
}

em:nth-child(2), em:nth-child(3) {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
登录后复制

grid 布局解决方案:

div {
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-rows: auto auto;
}

em:nth-child(1) {
  grid-column: 1;
  grid-row: 1 / span 2;
}

em:nth-child(2) {
  grid-column: 2;
  grid-row: 1;
}

em:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}

em:nth-child(4) {
  grid-column: 3;
  grid-row: 1 / span 2;
}
登录后复制

以上就是如何使用 Flex 或 Grid 布局将四个元素排列成自适应宽度和上下两行?的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部