当前位置: 首页 > 面试题库 >

如何获取不同长度的网格项进行包装?

齐威
2023-03-14
问题内容

使用repeat()auto-fit/ auto-fill函数, 当为列或行定义了长度模式时, 很容易获得要包装的网格项目。

在下面的示例中,所有列的最小宽度均为100px,最大宽度为1fr。

#grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));

  grid-gap: 1em;

}



#grid > div {

  background-color: #ccddaa;

  padding: 10px;

}


<div id="grid">

  <div></div>

  <div></div>

  <div></div>

  <div></div>

  <div></div>

  <div></div>

  <div></div>

  <div></div>

  <div></div>

</div>

但是,当轨道没有长度模式(即,长度随机变化)时,如何使网格项目包装?

在下面的示例中,第一列的宽度为60%。第二列是最小/最大250px / 1fr。我如何才能将第二列包装在较小的屏幕上?

#grid {

  display: grid;

  grid-template-columns: 60% minmax(250px, 1fr);

  grid-gap: 1em;

}



#grid > div {

  background-color: #ccddaa;

  padding: 10px;

}


<div id="grid">

  <div></div>

  <div></div>

</div>

我知道flexbox和媒体查询可以提供解决方案,但是我想知道Grid Layout是否可以做到这一点。我搜索了
规格,但没有找到任何东西。也许我错过了本节。谢谢你的帮助。


问题答案:

网格项实际上并不包装。您看到网格项“包装”到下一行的原因实际上是因为更改了显式网格以使其保持在规定的约束范围内minmax()。由生成的列数repeat()与使用的网格容器的宽度成比例,并且网格项目根据列数一一排列,并根据需要创建新的行。

因此,当有两列并且显式网格中有空间在第二列中插入该网格项目时,不可能强制第二个网格项目换行。此外,即使您 可以
告诉第二个网格项目“包装”,这也意味着将其放置 在第一列 的新行
,因此其布局将由第一列而不是第二列控制。当然,仍然根据第二列调整其大小将完全破坏网格布局。

如果要通过将元素包装到新行中来容纳较小的屏幕,则应使用弹性布局,而不是网格布局。网格布局不适合此目的。



 类似资料:
  • 问题内容: 使用Selenium Java绑定。 我正在尝试编写一个简短的模块,该模块将获取浏览器页面的完整屏幕截图(我知道AShot存在,但是没有维护,并且对我来说有一些问题)。 作为其中的一部分,我想知道我要处理的整个页面长度是多少,这样我就可以计算出需要拍摄的照片数量,而其余的则在底部。有很多示例显示了如何滚动到页面底部,但是我想知道是否有一种方法可以返回页面长度的值,以便可以在脚本中使用它

  • 我创建了一个listview,其中包含一个textview和一个网格视图。网格视图项包含TextView。它看起来如下所示: 在gridview项的最上面的视图组中使用。 在包含GridView的viewgroup中使用。 在包含GridView的viewgroup中使用Android:focusable=“true”Android:focusableIntouchmode=“true”。 我还尝

  • 问题内容: 我正在尝试在脚本中使用cURL,并使其 不 显示进度栏。 我已经试过了,,,和选择,但他们没有工作。 这是我尝试过的典型命令: 我只在将进度条推送到文件时才得到进度条,所以没有进度条,但是有。 问题答案: 适用于Ubuntu 9.10上的curl版本7.19.5(无进度条)。但是,如果由于某种原因在您的平台上不起作用,则可以始终将stderr重定向到/ dev / null:

  • 我使用Spring Boot,对于我来说,不清楚如何根据嵌套对象的属性对其进行排序,这些嵌套对象具有和,因为: 原因:org。postgresql。util。PSQLException:错误:对于SELECT DISTINCT,ORDER BY表达式必须出现在SELECT列表中 Spring Data JPA生成了错误的查询。 让我们看一个小例子: 我们有类和嵌套对象和。 类还包含。 现在,我想用

  • 问题内容: 我查了 golang.org/pkg/os/#File,但还是不知道。似乎无法获取文件长度,我错过了什么吗? 如何在Go中获取文件长度? 问题答案: 返回一个值,该值又具有一个方法。因此,给定一个文件,代码将类似于

  • 我有一个小程序发送http请求并用TCP协议得到响应。 我的请求格式; 我从套接字逐行读取响应(在c#中使用NetworkStream和StreamReader),直到找到内容长度的标头。我存储长度,然后继续读取,直到找到空行。然后创建一个带有长度的缓冲区并接收其余的响应。 但有些响应没有内容长度标题。所以我的方法失败了。如果我不知道应该接收多少字节,我应该何时停止?