首页 > 解决方案 > css 网格:可以使用灵活的行数和列数吗?

问题描述

有没有办法使用 css 网格来创建类似于 iTunes 封面布局的东西

在此处输入图像描述

当屏幕尺寸减小时,每个图块都会缩小到最小宽度。如果不再可能缩小,则每行中放置的元素会减少,但现在每个图块都以最大尺寸开始。

据我所知,css网格通常需要定义固定宽度或固定列数?

我已经设置了一个小玩意儿,但是到目前为止,我没有成功指定一个灵活的布局,它会在需要时添加新的行和列:https ://jsfiddle.net/dnu6g8wt/

<section>
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
  <div>7</div>
  <div>8</div>
  <div>9</div>
  <div>10</div>
</section>

section {
  display: grid;
  grid-auto-rows: auto;
  grid-auto-flow: column;
  grid-gap: 10px;
}

div {
  min-width: 45px;
  max-width: 50px;
  background: gray;
}

我不是在寻找一种使用 css 网格的方法,但最好只坚持使用 css。正方形的瓷砖会很棒,但我不知道如何仅使用 css 创建具有相同宽度和高度的灵活标题。过去我可以通过使用 javascript 创建这样的布局,但是很快就会变得复杂。

标签: csscss-grid

解决方案


推荐阅读