html - 如何将网格列设置为与其他网格布局相同

标签 html css

我有两种使用显示网格的布局。 See Screenshot

但我想知道为什么第一列的宽度不相等?

布局1第一列宽度为:239.40px

布局2第一列宽度为:240.70px

如何使用fr平等地设置它?

这是我的代码

.grid-container {
  display: grid;
  grid-gap: 25px;
}

/* News Module 1 */
.grid-container--news1 {
  grid-template-columns: 2fr 1fr 1fr 1fr;
}

.grid-container--news1 .grid-item:nth-of-type(1) {
  grid-row: 1 / 4;
}

.grid-container--news1 .grid-item:nth-of-type(2) {
  grid-column: 2 / 4;
}

/* News Module 2 */
.grid-container--news2 {
  grid-template-columns: 1.3fr 1fr 1fr;
}

.grid-container--news2 .grid-item:nth-of-type(1) {
  grid-row: 1 / 3;
}

.grid-container--news2 .grid-item:nth-of-type(2) {
  grid-column: 2 / 4;
}

.grid-item {
  background: steelblue;
  color: 
<div class="row gx-3 gx-md-4">
        <div class="col-12 mb-3">
          <h3>News Module 1</h3>
          <div class="grid-container grid-container--news1">
            <?php for ($i=1; $i < 7; $i++): ?>
            <div class="grid-item"><?php echo $i; ?></div>
            <?php endfor; ?>
          </div>
        </div>

        <div class="col-12">
          <h3>News Module 2</h3>
          <div class="grid-container grid-container--news2">
            <?php for ($i=1; $i < 5; $i++): ?>
            <div class="grid-item"><?php echo $i; ?></div>
            <?php endfor; ?>
          </div>
        </div>
      </div>
    </div>

最佳答案

我认为您无法使用 fr 来同等地设置它。

将会出现舍入错误,并且无论 1vw 的值如何,间隙大小都以绝对 px 单位指定,这两个布局都不会留下相同数量的可用空间。

但是,您可以将第一列设置为百分比,然后它们在两种布局上的显示结果应该相同。

或者,您可以进行计算,根据容器的宽度减去间隙来决定所需的宽度。

看看我们得到的第一个网格:

2fr + 3*25px +3fr = 100%

所以第一列的宽度可以通过CSS计算为

  calc((100% - 75px) * 2 / 5)

您可以指定这两种布局的第一列的宽度,然后像现在一样指定其余的 fr 设置。

关于html - 如何将网格列设置为与其他网格布局相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71842581/

相关文章:

javascript - 坚持导航栏延迟

javascript - 响应式正方形网格内的响应式正方形网格

css - 乘以不同单位的 less calc

ios - 使用 Ionicons 作为背景内容和绝对定位的 Safari 中的 CSS 故障

jquery 验证文本对齐

JQuery 可以使用居中元素排序吗?

c# - HtmlRenderer 不从 css 渲染背景图像

html - Bootstrap 3 : add icon outside of input

javascript - Div 保持原始大小图像不拉伸(stretch)/溢出

html - 为什么 vw 将滚动条作为视口(viewport)的一部分?