【问题标题】:Automatic height of css grid elements in flexboxflexbox中css网格元素的自动高度
【发布时间】:2020-04-21 00:30:17
【问题描述】:

我希望程序由一个主要组件组成。各种卡片列表将在这个主要组件中动态呈现。主要成分应为 100vh 高。各个卡片列表应占用可用空间。如果没有足够的空间,卡片列表的网格应该是可滚动的。

为此,我使用 flex-box 作为主要组件。主组件中的每个项目都接收 css 类 flex: 1. 这应该允许所有项目使用可用空间。

但是,问题是单个项目总共使用超过 100vh,因为没有激活溢出...

如果我在类 cardList flex: 1 中注释掉,而是将静态高度设置为 100 像素,则会激活溢出。用 flex: 1 应该可以解决这个问题,但是我感觉我错过了什么。

codepen 的链接在下方。

注意:如果我为 .grid 激活 flex: 1 并删除所有项目,则每个 cardList 的高度都是正确的。

【问题讨论】:

标签: html css flexbox overflow css-grid


【解决方案1】:

您是否尝试过使用 css nth 元素来选择单个框或一组框

很难弄清楚问题是什么?

https://css-tricks.com/almanac/selectors/n/nth-of-type/

https://www.w3schools.com/cssref/sel_nth-child.asp

例如

p:nth-child(odd) {
  background: red;
}

p:nth-child(even) {
  background: red;
}

【讨论】:

  • 您好,感谢您的评论。我的目标是呈现不同的卡片列表。一个 cardList 由一个标题和一个包含不同卡片的 CSS 网格组成。我的后端决定必须渲染多少个 cardList。不管要显示多少个cardList,都不能超过100vh。我尝试的是单独的卡片列表由flexbox排列,以便动态使用可用空间。如果没有足够的空间,网格应该溢出。不幸的是,这不起作用。 cardLists 占用超过 100vh。
  • 所以你说“.main-component”类的最大高度是窗口浏览器的高度,“.cardList”类应该适合里面,如果卡片列表的高度太高长然后向右滚动?
  • 你可以渲染的卡片列表类的最大数量是多少还是无限大
  • 那么您希望能够滚动哪些 div 类?抱歉还是有点困惑
猜你喜欢
  • 2017-05-21
  • 1970-01-01
  • 1970-01-01
  • 2021-04-05
  • 2012-07-11
  • 2015-02-20
  • 2020-01-08
  • 2017-03-13
  • 2016-12-03
相关资源
最近更新 更多