我正在try 使用网格显示内Flex Display的项目列表.我能够正确显示,但网格在容器外部溢出.

我的预期结果是容器随着网格上显示的数据而增长,而不会溢出.

随着列表的不断增加,列表将溢出容器的高度,而不是容器高度的增加.

  • 如何才能在不导致溢出的情况下扩展Flex容器?

注意:我try 了一些解决方案,比如添加垂直滚动条,很管用,但不能满足我的要求. 更新:添加了可重新创建的html和css

.dis{
    display: flex;
    height:auto;
}

.dlist {
    display: grid;
    row-gap: 5%;
    column-gap: 10%;
    grid-template-columns: 1fr 1fr 1fr;
}

.dgrid {
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    gap: 5px;
}
  <!DOCTYPE html>

<html>
   <head>
      <link rel="stylesheet" href="a.css" />
   </head>
   <body>
      <div class="dis">
         <div class="dlist">
            <article class="dgrid">
               <h3>John elizabeth</h3>
            </article>
            <article class="dgrid">
                <h3>John elizabeth</h3>
             </article>
             <article class="dgrid">
                <h3>John elizabeth</h3>
             </article>
             <article class="dgrid">
                <h3>John elizabeth</h3>
             </article>
             <article class="dgrid">
                <h3>John elizabeth</h3>
             </article>
             <article class="dgrid">
                <h3>John elizabeth</h3>
             </article>
             <article class="dgrid">
                <h3>John elizabeth</h3>
             </article>
             <article class="dgrid">
                <h3>John elizabeth</h3>
             </article>
             <article class="dgrid">
                <h3>John elizabeth</h3>
             </article>
             <article class="dgrid">
                <h3>John elizabeth</h3>
             </article>
             <article class="dgrid">
                <h3>John elizabeth</h3>
             </article>
             <article class="dgrid">
                <h3>John elizabeth</h3>
             </article>
             <article class="dgrid">
                <h3>John elizabeth</h3>
             </article>
             <article class="dgrid">
                <h3>John elizabeth</h3>
             </article>
             <article class="dgrid">
                <h3>John elizabeth</h3>
             </article>
         </div>
      </div>
   </body>
</html>

Added a screenshot where the grid is overlapping the container. The problem is the container is not growing and I am unable to figure of why the grid is overflowing and not the outer container. enter image description here

推荐答案

这是因为您使用的是gap%的值.您将不得不使用其他单位:

.dis {
  display: flex;
  background-color: blue;
}

.dlist {
  display: grid;
  gap: 10px;
  /* gap: 5% 10%; */
  grid-template-columns: repeat(3, 1fr);
}

.dgrid {
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  gap: 5px;
  background-color: yellow;
}
<div class="dis">
  <div class="dlist">
    <article class="dgrid">
      <h3>John elizabeth</h3>
    </article>
    <article class="dgrid">
       <h3>John elizabeth</h3>
     </article>
     <article class="dgrid">
       <h3>John elizabeth</h3>
     </article>
     <article class="dgrid">
       <h3>John elizabeth</h3>
     </article>
     <article class="dgrid">
       <h3>John elizabeth</h3>
     </article>
     <article class="dgrid">
       <h3>John elizabeth</h3>
     </article>
     <article class="dgrid">
       <h3>John elizabeth</h3>
     </article>
     <article class="dgrid">
       <h3>John elizabeth</h3>
     </article>
     <article class="dgrid">
       <h3>John elizabeth</h3>
     </article>
     <article class="dgrid">
       <h3>John elizabeth</h3>
     </article>
     <article class="dgrid">
       <h3>John elizabeth</h3>
     </article>
     <article class="dgrid">
       <h3>John elizabeth</h3>
     </article>
     <article class="dgrid">
       <h3>John elizabeth</h3>
     </article>
     <article class="dgrid">
       <h3>John elizabeth</h3>
     </article>
     <article class="dgrid">
       <h3>John elizabeth</h3>
     </article>
  </div>
</div>

Css相关问答推荐

如何将bslib::card()中的扩展按钮移到右上方,其中full_screen = TRUE?

如何将div与图像维度进行zoom ?

如何在Delphi的TMS Web Core上向窗体添加背景图像

如何使用 Ant Design 为不同的屏幕尺寸制作自定义组件样式

如何将动态参数从react tsx文件发送到css

当滚动量较小时,在滚动问题上动画粘性导航

有没有办法在 CSS 字体速记中使用数字字体粗细?

CSS 媒体查询不为桌面版的圣杯响应式布局包装 Flexbox 容器元素

BootStrap:右对齐嵌套手风琴

当我在几个月之间更改时,有什么方法可以在react-dates-range上添加淡入淡出或幻灯片效果?

Rails 7引擎如何使未编译的样式表可用于托管应用程序?

修复导航栏隐藏页面内容

使用 Bootstrap 设置身体的最大宽度

数据协议 URL 大小限制

CSS - 使 div 水平对齐

在 react-native 中使用 flex 使项目粘在底部

Unicode 通过 CSS :before

如何应用 CSS 分页符来打印包含大量行的表格?

CSS垂直对齐不适用于浮动

如何复制 iOS 上固定的后台附件