css - 网格列的 margin-top
问题描述
我需要像在图像上一样制作网格结构在 此处输入图像描述
我将此解决方案用于桌面上的 4 列,但对于移动设备,我需要 3 列。在这个解决方案中,我无法为列设置不同的边距
.gallery__wrapper {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr 1fr;
}
.img_wrapper:nth-of-type(even) {
top: 20px;
position: relative;
}
UPD:对于我使用的 3 列,但我不能使用 nth-of-type(even)
.gallery__wrapper {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr 1fr;
}
解决方案
我不明白你的问题。我能够使用您的代码创建一个包含 3 列和一个边距的画廊。问题是什么?
由于您没有提供任何 HTML,我不得不猜测并创建了自己的 HTML。
.gallery__wrapper {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr 1fr;
grid-gap: 1em;
}
.img_wrapper {
background-color: #123456;
min-width: 180px;
min-height: 360px;
}
.img_wrapper:nth-of-type(even) {
/**
* Using margin-top: 20px;
* also works here
*/
position: relative;
top: 20px;
}
<div class="gallery__wrapper">
<div class="img_wrapper"></div>
<div class="img_wrapper"></div>
<div class="img_wrapper"></div>
<div class="img_wrapper"></div>
<div class="img_wrapper"></div>
<div class="img_wrapper"></div>
<div class="img_wrapper"></div>
<div class="img_wrapper"></div>
<div class="img_wrapper"></div>
<div class="img_wrapper"></div>
<div class="img_wrapper"></div>
<div class="img_wrapper"></div>
<div class="img_wrapper"></div>
<div class="img_wrapper"></div>
<div class="img_wrapper"></div>
<div class="img_wrapper"></div>
</div>
推荐阅读
- docker - docker build 不下载文件
- python - 制作熊猫数据的数字类别
- angular - 带有 ICU 消息格式的 angular-l10n 复数
- doctrine-orm - Doctrine 是否使用 MySQL 索引?
- vba - VBA通过字体名称而不是字体索引更改Visio字体样式?
- python - 为外汇数据绘制 WADL 时出现 ValueError
- google-apps-script - 带有部分和卡片列表的卡片 - Gmail 插件
- python - 如何注释一个以另一个函数作为参数的函数?
- html - Xpath 在 id 和 div 之间使用通配符?
- r - 如何从 XML 文件中选择特定信息?在 R 或其他平台