max-content minimale und feste Breite für CSS-Rasterspalten
P粉245003607
P粉245003607 2023-09-06 11:26:46
0
1
506

Ich habe ein CSS-Raster und möchte, dass seine Spaltenbreite der Breite des größten Elements in der Spalte oder 100 Pixel entspricht, je nachdem, welcher Wert kleiner ist. Ich dachte, minmax(max-content, 100px) könnte funktionieren, aber das funktioniert nicht. Im folgenden Beispiel sollte die schmale Spalte den maximalen Inhalt (aber 100 Pixel) und die breite Spalte 100 Pixel (aber den maximalen Inhalt) haben. Ist das mit CSS Grid möglich?

.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粉245003607
P粉245003607

Antworte allen(1)
P粉642436282

在项目上使用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>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage