I have a CSS grid layout in which I want some (middle 3) lines to stretch to their maximum size. I'm probably looking for a property similar to what flex-grow: 1
does with Flexbox, but I cannot find a solution.
Note. This is for the Electron application only, so browser compatibility is not really a concern.
I have the following CSS grid layout:
.grid { display: grid; grid-template-columns: 1fr 1.5fr 1fr; grid-gap: 10px; height: calc(100vh - 10px); } .grid .box { background-color: grey; } .grid .box:first-child, .grid .box:last-child { grid-column-start: 1; grid-column-end: -1; } .grid .box:nth-child(n+5):nth-child(-n+7) { grid-column-start: 1; grid-column-end: -1; }
<div class="grid"> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> </div>
Which creates the following grid:
If none of the boxes contain content, I would like the grid to look something like this:
source share