【问题标题】:CSS Grid - Design not equal heights on certain divsCSS Grid - 在某些 div 上设计不相等的高度
【发布时间】:2020-01-28 08:38:43
【问题描述】:

我有一个 CSS 网格,但我正在努力使布局适合。

正如您在下面看到的,一切都是正确的,但是我希望“第 1 项”和“第 6 项”的高度相同,以便一切顺利。

 .grid > div {background:red;border:2px solid blue;}
 .grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      grid-gap: 10px;
  }
  .span-col-4{grid-column: span 4 / auto;}
  .span-row-2{grid-row: span 2 / auto;}
  .span-row-4{grid-row: span 4 / auto;}
<div class="grid">
  <div class="span-row-2">Item 1</div>
  <div class="span-row-4">Item 2</div>
  <div>Item 3</div>
  <div class="span-row-4">Item 4</div>
  <div>Item 5</div>
  <div class="span-row-2">Item 6</div>
  <div class="span-row-2">Item 7</div>
  <div class="span-col-4">Item 8</div>
</div>

谢谢

【问题讨论】:

    标签: html css css-grid


    【解决方案1】:

    考虑更多行并定义行高以确保它们保持相等:

    .grid>div {
      background: red;
      border: 2px solid blue;
    }
    
    .grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      grid-auto-rows:1fr;
      grid-gap: 10px;
    }
    
    .span-col-4 {
      grid-column: span 4;
    }
    
    .span-row-2 { grid-row: span 2;}
    .span-row-3 { grid-row: span 3;}
    .span-row-4 { grid-row: span 4;}
    .span-row-5 { grid-row: span 5;}
    .span-row-6 { grid-row: span 6;}
    <div class="grid">
      <div class="span-row-3">Item 1</div>
      <div class="span-row-6">Item 2</div>
      <div class="span-row-2">Item 3</div>
      <div class="span-row-6">Item 4</div>
      <div class="span-row-2">Item 5</div>
      <div class="span-row-3">Item 6</div>
      <div class="span-row-2">Item 7</div>
      <div class="span-col-4 span-row-2">Item 8</div>
    </div>

    【讨论】:

    • 嗨 Temani,是否有可能保持高度流动?例如。如果我要在“第 1 项”中添加大量文本,这会使“第 6 项”框的高度变小
    • 就是这样!非常感谢 Temani。我可以确认你更新了什么吗?谢谢!
    • @Brad 我添加了grid-auto-rows:1fr; 以确保所有行保持不变
    【解决方案2】:

    你可以应用 min-height css

    .span-row-2 {
        grid-row: span 2 / auto;
        min-height: 46px;
    }
    

    “第 1 项”和“第 6 项”高度相同,但请确保无论您在何处应用 span-row-2,都会应用高度。最好使用不同的类名。

    【讨论】:

    • 这会打破第 3 项、第 5 项和第 7 项的相等高度
    • 不,它不是 3 和 5 没有类只有它会应用到 7 但我建议你使用不同的类来避免这个问题。
    猜你喜欢
    • 2018-05-22
    • 2013-01-02
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    • 1970-01-01
    相关资源
    最近更新 更多