css - 使用网格项宽度缩放网格项高度

标签 css responsive css-grid scaling

<分区>

我正在制作一个网格布局,它根据页面的宽度调整不同数量的元素(正方形)的大小,并将不适合在同一行上的元素换行到下一行。

我已经尝试了很多方法,例如使用 vw 和删除 minmax,但似乎都没有得到我想要的结果。这是当前的代码:

CSS:

.grid-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr));
}

.grid-item {
  background-image: url('../mood.jpg'); /*square image*/
  background-repeat: no-repeat;
  background-size: contain;
  align-content: center;
  color: black;
  height: 8rem;
}

html:

<div class="grid-container">
      <div class="grid-item"></div>
      <div class="grid-item"></div>
      <div class="grid-item"></div>
      <div class="grid-item"></div>
      <div class="grid-item"></div>
      <div class="grid-item"></div>
      <div class="grid-item"></div>
      <div class="grid-item"></div>
      <div class="grid-item"></div>
      <div class="grid-item"></div>
      <div class="grid-item"></div>
      <div class="grid-item"></div>
      <div class="grid-item"></div>
    </div>

现在它在图像右侧有一些额外的空间,我希望缩放高度以适应该额外空间。

编辑:Here's a pen更彻底地说明了问题。网格项不是正方形,而是矩形,我希望它们是正方形。

最佳答案

height: 8rem 更改为 padding: 100%

关于css - 使用网格项宽度缩放网格项高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55997263/

相关文章:

html - 在响应式 View 中,边框未显示在 div 上

firefox - 为什么我的 Firefox 响应式设计模态视图与 MDN 中的 View 不同?

css - 我如何使用新的 CSS GRID 布局创建一个类似 12 列(仅网格)网格系统的 Bootstrap

javascript - 使用 Jquery 获取图像中心的文本

css - 使用 CSS 围绕中心旋转 SVG 线

html - 将一个 div 定位在另外 2 个 div 上

html - 当内容达到一定限制时,CSS Grid space-between 无法按预期工作

html - 检查哪些 <div> 没有 </div>

css - Bootstrap 3.x 中的菜单响应

html - 如何将 table th 元素与 bootstrap v4.1 表中的 td 元素对齐?