Grid 同时控制行与列,适合整页骨架;Flex 更适合组件内部一维排列。两者经常组合使用。

header aside main footer
图:12 列网格上的页头、侧栏与主内容区

快速上手

.layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  grid-template-rows: auto 1fr auto;
  gap: 16px;
  min-height: 100vh;
}

命名区域

.layout {
  grid-template-areas:
    "header header"
    "aside  main"
    "footer footer";
}
.header { grid-area: header; }

配合 minmax() 与媒体查询,同一套区域定义就能适配手机与桌面。