html - 不跨越整个网格的中心列
问题描述
我有一个由 12 列组成的网格,它的子列每列跨越 2 列。但是,列数是可变的,因此有时会出现完整的网格,即 6 列,而有时只有部分网格,即 2 列。在这种情况下,我可以集中所有存在的列吗?
全网格
<div class="grid">
<div class="col">Column</div>
<div class="col">Column</div>
<div class="col">Column</div>
<div class="col">Column</div>
<div class="col">Column</div>
<div class="col">Column</div>
</div>
部分网格
<div class="grid">
<div class="col">Column</div>
<div class="col">Column</div>
</div>
CSS
.grid {
display: grid;
grid-template-columns: repeat(12,minmax(0,1fr));
grid-gap: 2rem;
gap: 2rem;
}
.col {
grid-column: span 2/span 2;
// How can we centralise when less than a full grid?
}
解决方案
只需确保子网格的grid-column
跨度等于父网格的列。
.grid{
display: grid;
grid-template-columns: 1fr 1fr;
}
.grid2{
border: solid 1px dodgerblue;
grid-template-columns: 1fr 1fr 1fr;
}
.fullgrid{
grid-column: 1/4;
}
.grid1 > div{
border: solid 1px orangered;
}
<div class="grid grid1">
<div>1</div>
<div>2</div>
<div class="fullgrid">
<div class="grid grid2">
<div>3.1</div>
<div>3.2</div>
<div>3.3</div>
</div>
</div>
<div>4</div>
<div>4</div>
</div>
推荐阅读
- solr - 在 solr 7.6.0 中更新 solr 覆盖提交设置时出错
- javascript - 如何使用 moment.js 从我的时区删除分钟或禁用分钟?
- python - 多个 django 字段反映到一个 db 字段
- r - 如何在回归中将斜率约束为正?
- javascript - 为什么在这个例子中 var 被提升到块范围之外?实际发生了什么?
- python - 如何格式化 Django 的 timezone.now()
- java - RecyclerView android错误-尝试在android上运行时应用程序失败
- flutter - NoSuchMethodError 该方法在 Null 上被调用
- hive - Hive 以毫秒为单位连接列
- ldap - 如何通过具有属性值的成员在 ldap 中获取用户组