I generate a table (with vue.js) from an object which is supposed to be two columns wide. Each of the columns comes from the key and value of the object. This is equivalent to the following actual HTML:
<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>
I use CSS grid to format these div
into a 2x2 grid, which I expected to be
this is something long on the first row | short 1st row
wazaa 2nd row | wazii 2nd row
The code to do that:
#table {
display: grid;
grid-template-columns: auto 1fr;
}
<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>
The result is not the one I expect: the two deepest div
behave like they should outside of a grid
display: they stack on top of each other.
I wanted them to inherit the grid behaviour: to align based on column templates as they go. How to achieve that?