html - 如何重复网格模板区域?
问题描述
我希望这个模式重复几次。但我的代码并不灵活。
.grid {
margin: 0 auto;
display: grid;
grid-template-columns: 32% 32% 32%;
grid-column-gap: 20px;
grid-row-gap: 20px;
grid-template-areas: "a b c"
"d e f"
"g g g"
"h i j"
"k l m"
"o o o";
}
.item1 {
grid-area: a;
}
.item2 {
grid-area: b;
}
.item3 {
grid-area: c;
}
.item4 {
grid-area: d;
}
.item5 {
grid-area: e;
}
.item6 {
grid-area: f;
}
.item7 {
grid-area: g;
}
.item {
background: red;
border: 4px solid black;
height: 20px;
width: 100%;
}
<div class="grid">
<div class="item item1"></div>
<div class="item item2"></div>
<div class="item item3"></div>
<div class="item item4"></div>
<div class="item item5"></div>
<div class="item item6"></div>
<div class="item item7"></div>
</div>
如何改善网格?我想重复方案 3 3 1。如果我有大约 100 个元素,这个解决方案将难以忍受
解决方案
您可以像下面这样简化。不需要grid-template-areas
或grid-template-columns
.grid {
margin: 0 auto;
display: grid;
grid-gap: 20px;
}
.grid > .item:nth-child(7n) {
/* this will create 3 columns layout and force each 7th element to span all of them */
grid-column:span 3;
}
.item {
background: red;
border: 4px solid black;
height: 20px;
}
<div class="grid">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
推荐阅读
- google-apps-script - 基于自定义模板生成新的电子表格/工作簿
- rust - 如何处理 Rust 过程宏中的“Self”?
- reactjs - 如何在 Svelte App 内渲染 React App 或在 React App 内渲染 Svelte App?
- java - 如何在java 8中将列表元素处理为单行中的另一个列表
- node.js - 回答一些安装 npm 模块的提示
- javascript - 如何禁用默认浏览器自动完成?
- java - 如果为空,则显示 imageview onclick 并在没有 imageview 的情况下发布
- c++ - 生成具有条件的给定字符串的排列
- c# - 如何使用实体框架调用接受 RefCursor 作为输出参数的 Oracle 存储过程
- algorithm - 当时间复杂度为 O(n!) 和 O(2^n) 时?