使子项flex测量相同的高度和宽度的不同行

我在flex容器中有4个项目。我想使它们中的4个具有相同的宽度和高度,但始终将它们放在2个不同的行中(因此是2 X 2的网格)。

由于子项位于不同的伸缩容器中,因此他们不服从,flex-grow: 1;即使同一行的子项也不遵守规则。如果我将它们放在相同的容器中,它们会将它们放在同一行中,那么我需要2 X 2的网格。

您可以在此处找到具有相同代码的codepen:https ://codepen.io/mongolhippie/pen/yLYQbVd?editors=1100

    .tile {
      display: flex;
    
      flex-direction: column;
      border: 2px solid #A97C50;
      border-radius: 20px;
      padding: 20px;
      margin: 25px;
      /* THESE 3 OPTIONS TO CONTROLL HAVING THE SAME SPACE FOR EVERY TILE */
      flex-grow: 1;
      flex-shrink: 1;
      flex-basis: 0;
      flex: 1;
    }
    
    .tile p {
      font-size: min(calc( 1.125vw + 1.2rem ), 3.9rem);
    }
    .flex-center{
        display: flex !important;
        justify-content: center !important;
        align-items: center;
    }
    
    .manual-link {
      text-decoration: none !important;
      color: var(--brown-dark);
    }
    
    .manual-link:hover {
      text-decoration: none !important;
      color: var(--brown-dark);
    }
    
    .icon-and-title{  
      display: flex;
      align-items: center;
    }
    
    .icon-and-title p{
      font-size: min(calc( 1.125vw + .9rem ), 3.9rem);
    }
    
    .icon-and-title img{
      max-width: 100%;
      height: auto;
      transition: all .3s;
      max-height: 80px;
      margin-right: 20px;
      margin-bottom: 10px;
    }
     <div class="flex-center">
          <a class="manual-link" href="/manuals/manual-it.pdf">
          <div class="tile">
            <div class="icon-and-title">
              <img src="https://i.pinimg.com/originals/06/bc/e8/06bce81285badba0c3becd273ca67f95.png" alt="">
              <p>ADMIN</p>
            </div>
            <div class="links-manuals">
              <p>For the administrator of the app</p>
            </div>
          </div>
          </a>
          <a class="manual-link" href="/manuals/manual-developers.pdf">
          <div class="tile">
            <div class="icon-and-title">
              <img src="https://i.pinimg.com/originals/06/bc/e8/06bce81285badba0c3becd273ca67f95.png" alt="">
              <p>DEVELOPERS</p>
            </div>
            <div class="links-manuals">
              <p>To upgrade the Code</p>
            </div>
          </div>
          </a>
    
    
        </div>
        <div class="flex-center">
          <a class="manual-link" href="/manuals/manual-design.pdf">
          <div class="tile">
            <div class="icon-and-title">
              <img src="https://i.pinimg.com/originals/06/bc/e8/06bce81285badba0c3becd273ca67f95.png" alt="">
              <p>DESIGNERS</p>
            </div>
            <div class="links-manuals">
              <p>Style guide</p>
            </div>
          </div>
          </a>
          <a class="manual-link" href="/manuals/ngo.pdf">
          <div class="tile">
            <div class="icon-and-title">
              <img src="https://i.pinimg.com/originals/06/bc/e8/06bce81285badba0c3becd273ca67f95.png" alt="">
              <p>NGOs</p>
            </div>
            <div class="links-manuals">
              <p>The project</p>
            </div>
          </div>
          </a>
        </div>

将它们以相同的宽度和高度放在2 X 2的位置中的秘密是什么?

非常感谢!

亚历西奥

只需从Flexbox移至CSS GRID。

因此,像这样更改CSS:

.flex-center{
    display: grid;
    grid-template-columns: 1fr 1fr;
}

由于您要在2个不同的行中处理布局,因此我们将使用grid-template-columns

fr单元告诉网格必须具有相同宽度的“像元”。

最好将类重命名为.flex-center其他名称,因为您将使用CSS GRID。

这是更新的工作Codepen

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过CSS使高度和宽度不同的所有图像相同?

<svg>元素匹配子项的宽度和高度

与WebMe中的DisplayMetrics和$(window).width()不同的宽度和高度

影像高度与宽度相同

Flex子项的高度不同

如何设置元素的高度和宽度相同?

Flex子项以很小的宽度消失

WPF UniformGrid行和列的宽度相同高度

如何设置图像的高度和宽度相同?

用于以像素为单位的图像高度和宽度测量的工具

不同高度和宽度的网格

固定宽度的html块和elastic的区别是什么?在相同条件下的不同行为

CSS宽度与高度相同

测量大于屏幕的布局的宽度和高度

在text('')之后保持相同的高度和宽度

相同宽度,不同高度的媒体查询

引导网格不同的列的高度和宽度

从相同类别的图像中获取不同的高度和宽度,并将其应用于同级

具有相同百分比的高度和宽度的图像将以不同的高度进行渲染

宽度与高度CSS相同

如何在 Javascript 上测量旋转元素的宽度和高度?

为什么这两个宽度和高度相同的 HTML 画布返回第二个的高度不同?

输入和按钮,相同的css,不同的高度

flex 子元素的宽度与高度相同

使视频的宽度和高度与它所在的 div 相同

对齐相同高度和不同宽度的图像

即使内容不同,如何使div内的元素具有相同的高度和宽度?

Flex 每个项目相同的宽度/高度

当 flex grow 为 1 时,为什么 flex 子项不与文本内容共享相同的宽度