对于这个经典的圣杯布局,它包含页眉、页脚、左侧边栏、右侧边栏和主要内容。它与之前的布局类似,但现在有了侧边栏!
要用单行代码编写整个网格,请使用 grid-template
属性。 这使你可以同时设置行和列。
属性和值对是:grid-template: auto 1fr auto / auto 1fr auto
。 第一个和第二个空格分隔列表之间的斜杠是行和列之间的分隔符。
.parent {
display: grid;
grid-template: auto 1fr auto / auto 1fr auto;
}
与上一个示例中页眉和页脚具有自动调整大小的内容一样,此处的左侧和右侧边栏会根据其子元素的固有大小自动调整大小。 但是,这次是水平尺寸(宽度)而不是垂直尺寸(高度)。
HTML
<div class="parent">
<header class="section coral">Header</header>
<div class="left-side section blue">Left Sidebar</div>
<main class="section green"> Main Content</main>
<div class="right-side section yellow">Right Sidebar</div>
<footer class="section coral">Footer</footer>
</div>
CSS
.parent {
display: grid;
grid-template: auto 1fr auto / auto 1fr auto;
}
header {
padding: 2rem;
grid-column: 1 / 4;
}
.left-side {
grid-column: 1 / 2;
}
main {
grid-column: 2 / 3;
}
.right-side {
grid-column: 3 / 4;
}
footer {
grid-column: 1 / 4;
}