html - CSS Grid 模板区域未呈现应有的方式
问题描述
我不明白,我只是想要这样的布局。每行 3 列
'EMPTY TOP EMPTY'
'LEFT MIDDLE RIGHT'
'EMPTY BOTTOM EMPTY'
输出为 2 行 5 列。
'TOP LEFT MIDDLE'
'RIGHT BOTTOM'
难道我做错了什么?
.grid-mobile {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 300px 300px 300px;
grid-gap: 20px;
grid-template-areas:
'. top .'
'left middle right'
'. bottom .';
}
.mobile-top {
grid-area: 'top';
background-color: blue;
}
.mobile-left {
grid-area: 'left';
background-color: purple;
}
.mobile-right {
grid-area: 'right';
background-color: orange;
}
.mobile-middle {
grid-area: 'middle';
background-color: pink;
}
.mobile-bottom {
grid-area: 'bottom';
background-color: red;
}
<section class="grid-mobile">
<div class="mobile-top">e</div>
<div class="mobile-left">weqr</div>
<div class="mobile-middle">e</div>
<div class="mobile-right">e</div>
<div class="mobile-bottom">wqer</div>
</section>
解决方案
感谢上面的评论,可能这个片段将有助于在 stackoverflow 中获得解决方案。
.grid-mobile {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 300px 300px 300px;
grid-gap: 20px;
grid-template-areas:
'. top .'
'left middle right'
'. bottom .';
}
.mobile-top {
grid-area: top;
background-color: blue;
}
.mobile-left {
grid-area: left;
background-color: purple;
}
.mobile-right {
grid-area: right;
background-color: orange;
}
.mobile-middle {
grid-area: middle;
background-color: pink;
}
.mobile-bottom {
grid-area: bottom;
background-color: red;
}
<section class="grid-mobile">
<div class="mobile-top">e</div>
<div class="mobile-left">weqr</div>
<div class="mobile-middle">e</div>
<div class="mobile-right">e</div>
<div class="mobile-bottom">wqer</div>
</section>
推荐阅读
- python - 用它们的变量替换字符串的所有字符
- pyspark - Pyspark 流构造历史数据
- c# - 根据另一个组合框中的选择更改 datagridview 中的组合框
- nginx - 如何在 NGINX 中替换上游状态码
- hyperledger-fabric - 在 Hyperledger Fabric 中,TLS 消息传递层的证书是如何生成的?
- node.js - 无法在视图目录中查找视图“index.pug”
- python - pydantic 模式/模型的 python 类型提示
- r - 将第一行之后的所有行替换为 R 中相同的特定条件
- sql - 具有变量低效率的 SQL Server 双案例语句
- google-cloud-platform - 如何保护托管在 Google Cloud Run 上的应用程序?