为了账号安全,请及时绑定邮箱和手机立即绑定

如何使网格行占据全高,直到达到最小尺寸?

如何使网格行占据全高,直到达到最小尺寸?

哔哔one 2023-10-30 19:44:40
我有一个最小高度为 90vh 的 div 和一个子 div,它设置为一个网格,最多有 20 个子级和 5 个等宽的列。我想设置一个网格:当它有 =< 4 行时,它们应该占据完整的最小高度。因此,如果有 4 行,每行应占高度的 25%,则 3 (33%)、2 (50%) 和 1 (100%) 行也是如此。当行数超过 4 且屏幕宽度超过 600 像素时(例如,当列数在较小的屏幕上下降时),每行占用其原始高度的 25% (22.5vh)在较小的屏幕上,每行应占原始最小高度 (11.25vh) 的 12.5%我想知道是否可以建立这样的网格。到目前为止我的代码(我正在使用样式组件):const ColorBoxesWrap = styled.div`  min-height: 90vh;  width: 100%;`;const ColorBoxesGrid = styled.div`  display: grid;  grid-auto-rows: 11.25vh;  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));  @media (min-width: 1200px) {    grid-template-columns: repeat(5, 1fr);  }  @media (min-width: 500px) {    grid-auto-rows: 22.5vh;  }`;成分:...<ColorBoxesWrap>    <ColorBoxesGrid>{colorBoxes}</ColorBoxesGrid></ColorBoxesWrap>...此代码适用于 15 岁以上的儿童,可根据需要进行缩放。然而,当 =< 15 时,行仍然只占最小高度的 25%。
查看完整描述

2 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

const ColorBoxesWrap = styled.div`

  min-height: 90vh;

  width: 100%;

`;


const ColorBoxesGrid = styled.div`

  display: grid;

  grid-auto-rows: 11.25vh;

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

  @media (min-width: 1200px) {

    grid-template-columns: repeat(5, 1fr);

  }

  @media (min-width: 500px) {

    grid-auto-rows: 22.5vh;

  }

`;

成分:


...

<ColorBoxesWrap>

    <ColorBoxesGrid>{colorBoxes}</ColorBoxesGrid>

</ColorBoxesWrap>

...

此代码适用于 15 岁以上的儿童,可根据需要进行缩放。然而,当 =< 15 时,行仍然只占最小高度的 25%。


查看完整回答
反对 回复 2023-10-30
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

您可以通过传递 prop 以编程方式执行此操作

<ColorBoxesGrid boxesCount={colorBoxes.length}>{colorBoxes}</ColorBoxesGrid>

比定义你的风格基于boxesCount

查看完整回答
反对 回复 2023-10-30
  • 2 回答
  • 0 关注
  • 104 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信