I want to make a scrollable-table with flexbox.
The table with static sizes has to fit into a viewport of fixed-size.
Basically something along the lines of:
<div class="container" style="width: x; height: y; overflow: scroll">
<div data-row="1">
<div data-column="1"></div>
<div data-column="2"></div>
<div data-column="3"></div>
</div>
<div data-row="2">
<div data-column="1"></div>
<div data-column="2"></div>
<div data-column="3"></div>
</div>
<div data-row="3">
<div data-column="1"></div>
<div data-column="2"></div>
<div data-column="3"></div>
</div>
</div>
This is what I have so far:
#viewport {
border: 1px solid black;
overflow: auto;
width: 350px;
}
#content {
#position: relative;
overflow: hidden;
}
.cell {
display: flex;
flex-shrink: 0;
flex-grow: 0;
flex-wrap: nowrap;
overflow: hidden;
box-sizing: border-box;
}
.column {
width: 200px;
height: 100px;
}
.row {
display: flex;
flex-direction: row;
overflow: hidden;
border: 1px solid black;
#overflow-x: scroll;
overflow: visible;
box-sizing: border-box;
}
.viewport {
display: flex;
flex-direction: column;
width: 300px;
height: 500px;
overflow: scroll;
flex-wrap: wrap;
#flex-wrap: nowrap;
box-sizing: border-box;
flex-basis: 0;
}
<div class="viewport"><!--
--><div class="row"><!--
--><div class="cell column" style="background-color: red;"></div><!--
--><div class="cell column" style="background-color: green;"></div><!--
--><div class="cell column" style="background-color: blue;"></div><!--
--><div class="cell column" style="background-color: hotpink;"></div><!--
--></div><!--
--><div class="row"><!--
--><div class="cell column" style="background-color: red;"></div><!--
--><div class="cell column" style="background-color: green;"></div><!--
--><div class="cell column" style="background-color: blue;"></div><!--
--><div class="cell column" style="background-color: hotpink;"></div><!--
--></div><!--
--></div>
But this gives me strange white space.
But only in Chrome and IE11 - in Firefox and Edge it works fine.
If I remove flex-wrap on .viewport, I get the same problem in Edge and Firefox.
Also, I don't really want that flex-wrap on .viewport.
I have so far been unable to figure out what the problem is.
This kind of crap drives me crazy. Anybody has an idea ?