CSS グリッドは初めてで、このレイアウトでページを作成しようとしています:
私が抱えている問題は.main
、コンテナー グリッド内のクラスとグリッドです。
のグリッドの設定が間違っていると思います.main
。
上部のコンテナ.container
では、3 列のレイアウトが機能していることがわかります。
最初の行では、div 画像 div が 3 列のうち 2 列にまたがり、blogart div が 1 列を占めるようにします。
2 行目には、それぞれ 1 列にまたがる 3 つの blogart div が必要です。
しかし、内側のグリッド.main
では、すべてのマークアップが 4 番目の列にあります。
コードペンをセットアップしました。どんな提案にも最適です。
これは私のマークアップです。css は codepen にあります。
body {
padding-top: 20px;
background: #f5f7f8;
}
.container{
display: grid;
width: 100%;
max-width: 750px;
margin: 0 auto;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: 80px 180px 80px;
grid-gap: 20px;
grid-template-areas: "header header header"
"main main main"
"footer footer footer";
}
.container div{
color: white;
font-size: 20px;
padding: 20px;
}
.header {
background: #b03532;
grid-area: header;
}
.main {
background: #33a8a5;
grid-area: main;
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: auto;
grid-gap: 20px;
grid-template-areas: "bigimg bigimg blogart"
"blogart blogart blogart";
}
.bigimg {
background: #da6f2b;
grid-area: bigimg;
}
.blogart {
background: #3d8bb1;
grid-area: blogart;
}
.footer {
background: #6a478f;
grid-area: footer;
}
<section class="container">
<div class="header">Header</div>
<div class="main">
<div class="bigimg">img</div>
<div class="blogart">blogart</div>
<div class="blogart">blogart</div>
<div class="blogart">blogart</div>
<div class="blogart">blogart</div>
</div>
<div class="footer">footer</div>
</section>
-ありがとう