I created a simple credits table using divs and text formatted as a flex grid. However, I'm trying to set it so that the blue separator bar is always horizontally centered in the viewport (for all view sizes). However, when I adjust the width of the screen, I can tell that the table is slightly off and is not staying centered.
I created a simple CodePen to illustrate the problem:
https://codepen.io/Jdo300/pen/xxWarYL
.credits_container {
position: relative;
width: 100%;
font-size: 22px;
line-height: 1.5em;
}
.credits_row {
display: grid;
grid-auto-flow: column;
grid-template-columns: 47% 0fr;
grid-column-gap: 1.6rem;
min-height: 2.5rem;
}
.credits_left {
display: block;
white-space: pre-wrap;
word-break: break-word;
text-align: end;
}
.credits_divider {
position: relative;
display: inline-block;
width: 0.2rem;
height: 100%;
background-color: #087f9b;
}
.credits_right {
display: block;
white-space: pre-wrap;
word-break: break-word;
text-align: start;
}
.block {
width: 20px;
height: 20px;
background: blue;
}
<center>
<div class="credits_container">
<div class="credits_row">
<div class="credits_left"><b>Lead writer</b></div>
<div class="credits_divider"></div>
<div class="credits_right">Rodger Green</div>
</div>
<div class="credits_row">
<div class="credits_left"><b>Editors</b></div>
<div class="credits_divider"></div>
<div class="credits_right">Lenny Samoah</div>
</div>
<div class="credits_row">
<div class="credits_left"></div>
<div class="credits_divider"></div>
<div class="credits_right">Michelle Johnson</div>
</div>
<div class="credits_row">
<div class="credits_left"><b>Web design</b></div>
<div class="credits_divider"></div>
<div class="credits_right">Jonathan Doe</div>
</div>
<div class="credits_row">
<div class="credits_left"></div>
<div class="credits_divider"></div>
<div class="credits_right">Sean Chen</div>
</div>
<div class="credits_row">
<div class="credits_left"></div>
<div class="credits_divider"></div>
<div class="credits_right">Rachael Boe</div>
</div>
<div class="credits_row">
<div class="credits_left"><b>Web development</b></div>
<div class="credits_divider"></div>
<div class="credits_right">Jimmy Lee</div>
</div>
<div class="credits_row">
<div class="credits_left"></div>
<div class="credits_divider"></div>
<div class="credits_right">Paul Miller</div>
</div>
<div class="credits_row">
<div class="credits_left"><b>Data visuals</b></div>
<div class="credits_divider"></div>
<div class="credits_right">Chase Lim</div>
</div>
</div>
<div class="block"></div>
</center>
I put a blue box at the bottom to show where the center should be so you can better see what is going on. I'm still getting my head around how to use flex grids so I'm sure there's something elementary that I'm just missing.