grid-template-areas 让您通过命名区域以可视化方式布局网格,使复杂的页面布局易于理解和快速响应式重排。
定义命名区域
css
{
: grid;
: fr;
: auto fr auto;
:
;
: ;
}
{ : header; }
{ : sidebar; }
{ : main; }
{ : footer; }
ASCII-art grid-template-areas 就是布局本身 — 你一眼就能看出结构,而重复一个名称会使一个区域跨越多个单元格。
@media (max-width: 600px) {
.layout {
grid-template-columns: 1fr; /* single column */
grid-template-areas:
"header"
"main" /* main now ABOVE sidebar on mobile */
"sidebar"
"footer";
}
}
要改变整个移动端布局,你只需重写区域地图 — HTML 和 grid-area 分配保持完全一致。这比逐个重新定位每个元素要干净得多。
main 以获得可访问性,同时在视觉上优先显示侧栏)。命名网格区域使页面级布局(header/sidebar/main/footer)既易读又容易响应式 — 重构只需编辑 ASCII 地图,而不需要重新调整位置。
这是 CSS 提供的最清晰、最易维护的布局技术之一。