【发布时间】:2018-03-05 04:45:17
【问题描述】:
考虑一个包含可变数量项目的时间表,介于 1 到 6 之间。 如果有 1 - 4 个项目,它们应该覆盖 2x2 布局,例如:
ONE TWO
THREE FOUR
如果有 5 - 6 个项目,它们应该覆盖 2x3 布局,例如:
ONE TWO THREE
FOUR FIVE SIX
但是,我需要以编程方式将 x22 或 x23 类应用于项目,具体取决于项目的数量。我更喜欢在我的模板中不需要额外逻辑的解决方案。
.grid {
border: 1px solid gray;
width: 400px;
height: 200px;
grid-gap: 5px;
display: grid;
grid-template-columns: repeat(6, 1fr);
grid-template-rows: repeat(2, 50%);
overflow: hidden;
}
.grid .x22,
.grid .x23 {
background-color: #1c1c1c;
color: white;
font-weight: bold;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.grid .x22 {
grid-column: span 3;
}
.grid .x23 {
grid-column: span 2;
}
<h2>2x3</h2>
<div class="grid">
<div class="x23">first</div>
<div class="x23">second</div>
<div class="x23">third</div>
<div class="x23">fourth</div>
<div class="x23">fifth</div>
<div class="x23">sixth</div>
</div>
<h2>2x2</h2>
<div class="grid">
<div class="x22">first</div>
<div class="x22">second</div>
<div class="x22">third</div>
<div class="x22">fourth</div>
</div>
【问题讨论】:
标签: html css grid-layout css-grid