You can use display:contents
(https://caniuse.com/#feat=css-display-contents) to overcome this:
#table {
display: grid;
grid-template-columns: auto 1fr;
grid-gap:10px;
}
#table > div {
display:contents;
}
<div id="table">
<div>
<div>
this is something long on the first row
</div>
<div>
short 1st row
</div>
</div>
<div>
<div>
wazaa 2nd row
</div>
<div>
wazii 2nd row
</div>
</div>
</div>
Or use display table like below:
#table {
display: table;
}
#table > div {
display:table-row;
}
#table > div > div {
display:table-cell;
padding:5px;
}
#table > div > div:first-child {
white-space:nowrap;
width:10%;
}
<div id="table">
<div>
<div>
this is something long on the first row
</div>
<div>
short 1st row
</div>
</div>
<div>
<div>
wazaa 2nd row
</div>
<div>
wazii 2nd row
</div>
</div>
</div>