郭
←返回首页郭佳恩前端工程师
10 分钟阅读
CSS Grid 布局完全指南:从基础到网格系统
Flexbox 是一维布局的大师,而 Grid 则是二维布局的王者。本文通过丰富的代码示例,带你征服 CSS Grid。
CSSFrontendDesign
CSS Grid Layout 是 CSS 中最强大的布局系统。
1. 定义网格
css.container { display: grid; grid-template-columns: repeat(3, 1fr); /* 三列等宽 */ grid-template-rows: 100px 200px; gap: 20px; }
2. 网格区域 (Grid Areas)
这是 Grid 最酷的特性之一,可以直观地描述布局。
css.item-a { grid-area: header; } .item-b { grid-area: main; } .item-c { grid-area: sidebar; } .item-d { grid-area: footer; } .container { display: grid; grid-template-columns: 200px 1fr; grid-template-rows: auto 1fr auto; grid-template-areas: "header header" "sidebar main" "footer footer"; }
3. 实现圣杯布局 (Holy Grail Layout)
html<div class="grid-container"> <header>Header</header> <nav>Nav</nav> <main>Main Content</main> <aside>Aside</aside> <footer>Footer</footer> </div>
css.grid-container { display: grid; min-height: 100vh; grid-template-columns: 200px 1fr 200px; grid-template-rows: auto 1fr auto; grid-template-areas: "header header header" "nav main aside" "footer footer footer"; } @media (max-width: 768px) { .grid-container { grid-template-columns: 1fr; grid-template-areas: "header" "nav" "main" "aside" "footer"; } }