如何使用 Flex 或 Grid 布局将四个元素排列成自适应宽度和上下两行?
给定以下 html 结构:
<div> <em>1</em> <em>2</em> <em>3</em> <em>4</em> </div>
我们希望在不修改 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 布局将四个元素排列成自适应宽度和上下两行?的详细内容,更多请关注硕下网其它相关文章!