当前位置: 首页 > 知识库问答 >
问题:

前端 - Grid布局,设置了place-content:center,其子元素使用了auto-fit,此时列宽该如何计算?

慕承恩
2023-12-18

* A使用grid对其子元素布局,并设置place-content:center

  • 一个子元素D也使用grid,设置了grid-template-columns: repeat(auto-fit,minmax(100px,1fr)
<div class="A">      <h1>Hello world</h1>      <div class="B">          <div class="C">          <div class="D">sings isng isng saingsd</div>          <div class="D">sings isng isng saingsd</div>      </div>      <div class="C">sings isng isng saingsd ogijg oisg osijgsog</div></div></div>
.A {  display: grid;  place-content: center;}.B {  background: red;  display: grid;  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));}

在线 https://codesandbox.io/p/devbox/grid-size-2-rnn4p5?file=%2Fin...

此时A上的网格的列宽该如何计算?

共有1个答案

胡新
2023-12-18

在CSS Grid布局中,repeat(auto-fit, minmax(100px, 1fr)) 的行为会根据可用空间自动调整网格的列数。minmax 函数确保每列至少有100px,最多占据可用空间的等份(1fr)。

当你使用 repeat(auto-fit, minmax(100px, 1fr)),这意味着网格列数会自动适应,每列至少100px宽,如果可用空间允许,则每列可以扩展到等份(1fr)。

place-content: center; 会使网格的所有内容居中。但是,这并不影响网格的列数或每列的宽度。

因此,A上的网格的列宽会根据其子元素D的内容自动调整。例如,如果D的内容少于3列,那么只有一列,如果内容超过3列但少于4列,那么有3列,以此类推。每列的宽度至少为100px,如果可用空间允许,则每列可以扩展到等份(1fr)。

然而,具体结果可能还受到其他因素影响,比如浏览器的默认样式、其他CSS代码等。

注意:你的问题描述和代码中似乎缺少了一些内容,我假设你的问题是关于如何计算这种CSS Grid布局的列宽。如果你有其他问题或者需要关于其他内容的帮助,请提供更多信息。

 类似资料:
  • 有很多布局管理器,这有点让人不知所措,我不知道使用什么布局管理器来显示bg图像(BackgroundFrame.java)顶部和左侧的左面板(lerframe.java)。我不知道如何进一步描述它,但为了清楚地解释我的困境,我在下面提供了一个说明。 除此之外,我还包括了我的部分代码。 背景框架。Java语言 大型机。Java语言 左撇子rame.java

  • https://www.youtube.com/watch?v=G685JsiQM3E 这个视频里设置后载入页面就有放大效果.但我这边试了半没有这个效果.差在哪里?mac和windows?

  • 为什么这里的 flex-direction 和 align-item 还有效 firefox 上一切正常 jsfiddle 浏览器信息: Vivaldi 6.2.3105.58 (Stable channel) stable (64 位) Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/11

  • 因为数据数量不确定,数据太少时柱状图柱子太宽不符合设计稿,怎么配置可以将柱子的宽度变窄?同时当数据很多的时候,柱子可以保持原本的宽度。

  • 设置position: absolute;宽度不一样 不设置position: absolute;宽度一样了 电脑显示配置:1.25物理像素=1逻辑像素 浏览器无缩放100%显示, 求大佬解释。。。。。。。。。。。。。

  • 我肯定这很简单,但我很难理解。 我有两个div。标题div最大宽度为500px。主分区最大宽度为400px。主div应在浏览器窗口中水平居中。标题div的左边缘需要与主div的左边缘对齐。请参见下文。红线是浏览器窗口的中心: 为此,我添加了一个最大宽度为500px(粉红色)的包装div,并在左侧使用了额外的填充。这在一定程度上有效。但在较小的屏幕尺寸下,左侧的额外填充会使布局偏离中心。 那么我如何