html - 网格项展开以跟随列之间的偏移
问题描述
我正在尝试制作一个 html/css 卡片系统,它会自动将自己放置在 css 网格上。这个 CSS 网格分为两列。在左列中,一个 div 为该列的其余部分添加了一个偏移量,并且没有固定大小。我想在两列之间保持这个偏移量。
问题是左边的第一张卡片(数字 2)会增长以补偿偏移量,但所有卡片必须具有相同的大小。在不固定每张卡的大小的情况下如何解决这个问题?
我想做的事:
我目前拥有的:
重现它的简单代码示例:
.grid {
display: grid;
background-color: #eee;
grid-gap: 5px 5px;
grid-template-columns: repeat(2, 1fr);
grid-auto-flow: dense;
}
.box {
background-color: #444;
color: #fff;
border-radius: 5px;
padding: 60px;
font-size: 150%;
}
.grid__1 {
background-color: #ccc;
grid-column: 1 / 2;
padding: 5px;
font-size: 1rem;
}
.grid__item {
grid-column: span 1;
grid-row: span 2;
}
<div class="grid">
<div class="box grid__1">head</div>
<div class="box grid__item">1</div>
<div class="box grid__item">2</div>
<div class="box grid__item">3</div>
<div class="box grid__item">4</div>
<div class="box grid__item">5</div>
<div class="box grid__item">6</div>
</div>
我在这里做了一个活生生的例子:https ://jsfiddle.net/rLpqt75d/3/
解决方案
为属性 grid-auto-rows 定义一对行,这将设置正确的大小:
.grid {
display: grid;
background-color: #eee;
grid-gap: 5px 5px;
grid-template-columns: repeat(2, 1fr);
grid-auto-flow: dense;
grid-auto-rows: 40px 200px; /* added */
}
.box {
background-color: #444;
color: #fff;
border-radius: 5px;
padding: 60px;
font-size: 150%;
}
.grid__1 {
background-color: #ccc;
grid-column: 1 / 2;
padding: 5px;
font-size: 1rem;
}
.grid__item {
grid-column: span 1;
grid-row: span 2;
}
<div class="grid">
<div class="box grid__1">head</div>
<div class="box grid__item">1</div>
<div class="box grid__item">2</div>
<div class="box grid__item">3</div>
<div class="box grid__item">4</div>
<div class="box grid__item">5</div>
<div class="box grid__item">6</div>
</div>
推荐阅读
- javascript - 在名字字段中自动建议电子邮件地址
- javascript - 如何从本地驱动器打开文件 - Angular 4
- cordova - 用于 Apache cordova 应用程序开发的代码分析工具?
- python - 使用 Python 在同一行 CSV 中的所有数据变量
- javascript - 可以检测碰撞但物体通过移相器 p2 物理
- sql - 电子邮件的数据驱动订阅
- javascript - 嵌套对象迭代并返回空值键名nodejs
- python - 奇怪的python文件路径行为
- jquery - Featherlight YouTube 视频链接 - 缩略图上方的播放按钮未链接/打开
- php - JQuery Append 表单未在 PHP 中发布