grid圣杯布局,三种方式布局
圣杯布局是最常用的布局,所以被比喻为圣杯。它将页面分成五个部分,除了页眉和页脚,内容区分成左边栏、主栏、右边栏。
效果:

html:
<div class="container"> <header><h1 contenteditable>Header.com</h1></header> <div class="left-sidebar" contenteditable>Left Sidebar</div> <main contenteditable></main> <div class="right-sidebar" contenteditable>Right Sidebar</div> <footer contenteditable>Footer Content — Header.com 2020</footer> </div>
css:
.container {
height: 100vh;
}
header {
background: lightpink;
padding: 2rem;
}
.left-sidebar {
background: lightblue;
}
main {
background: coral;
}
.right-sidebar {
background: yellow;
}
footer {
background: wheat;
padding: 2rem;
text-align: center;
}
.left-sidebar,
.right-sidebar {
padding: 1rem;
}布局看到html可以了解到三行三列布局,头尾一行显示.
第一种实现方式:
用的是网格线分隔
简写
grid-template: <grid-template-rows> / <grid-template-columns>
.container {
display: grid;
grid-template: auto 1fr auto / auto 1fr auto;
}
header{
grid-column: 1 / 4;
}
.left-sidebar{
grid-column: 1 / 2;
}
main{
grid-column: 2 / 3;
}
.right-sidebar{
grid-column: 3 / 4;
}
footer{
grid-column: 1 / 4;
}第二种实现方式:
用的是网格块命名法
.container {
display: grid;
grid-template: auto 1fr auto / auto 1fr auto;
grid-template-areas: "header header header"
"leftSide main rightSide"
"footer footer footer";
}
header{
grid-area: header;
}
.left-sidebar{
grid-area: leftSide;
}
main{
grid-area: main;
}
.right-sidebar{
grid-area: rightSide;
}
footer{
grid-area: footer;
}第三种实现方式:
用的是网格块合并法,span 3,表格列合并三列.
.container {
display: grid;
grid-template: auto 1fr auto / auto 1fr auto;
}
header{
grid-column: span 3;
}
footer{
grid-column: span 3;
}本文作者: Jasmine
本文链接: https://www.jianbaizhan.com/article/688
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!