Have you tried align-items: flex-start
? That seems to get the results you want.
Unless you're going to be using flex
more extensively you could also just remove display: flex;
and align-items
and the list will still be centered in the page and start at the first list item.
Old Answer
Option 1
#background {
display: flex;
align-items: flext-start;
height: 100%;
}
Option 2
#background {
height: 100%;
}
Updated Answer
You could use CSS tables.
html, body {
height: 100%;
margin: 0px;
}
#background {
display: table;
height: 100%;
margin: 0 auto;
width: 200px;
}
#box {
display: table-cell;
vertical-align: top;
background-color: yellow;
}
<div id="background">
<ol id="box">
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
<li>asdf asdf asdf</li>
</ol>
</div>
Demo JSFiddle.