首頁  >  問答  >  主體

CSS 網格列的 max-content 最小值和固定寬度

我有一個 css 網格,我希望其列寬度為該列中最大項目的寬度或 100px,以較小者為準。我認為 minmax(max-content, 100px) 可能有效,但事實並非如此。在下面的範例中,窄列應為 max-content(但為 100px),寬列應為 100px(但為 max-content)。是否可以使用 css 網格來做到這一點?

.table {
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(4, minmax(max-content, 100px));
}

.element {
  background-color: lightblue;
  word-break: break-all;
  white-space: nowrap;
}
<div class="table">
  <div class="element">a</div>
  <div class="element">wiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiide</div>
  <div class="element">narrow</div>
  <div class="element">d</div>
  <div class="element">narrow</div>
  <div class="element">b</div>
  <div class="element">c</div>
  <div class="element">wiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiide</div>
</div>

P粉245003607P粉245003607430 天前479

全部回覆(1)我來回復

  • P粉642436282

    P粉6424362822023-09-07 00:02:09

    在專案上使用max-width並保持列自動寬度

    .table {
      display: grid;
      gap: 4px;
      grid-template-columns: repeat(4, auto);
      justify-content: start; /* you need this to avoid the gap between column */
    }
    
    .element {
      background-color: lightblue;
      word-break: break-all;
      white-space: nowrap;
      max-width: 100px;
      /* hiding the overflow */  
      overflow: hidden;
      text-overflow: ellipsis;
    }
    <div class="table">
      <div class="element">a</div>
      <div class="element">wiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiide</div>
      <div class="element">narrow</div>
      <div class="element">d</div>
      <div class="element">narrow</div>
      <div class="element">b</div>
      <div class="element">c</div>
      <div class="element">wiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiide</div>
    </div>

    回覆
    0
  • 取消回覆