
使用 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;
}










