Я пытаюсь выполнить макет li's с помощью flexbox. Я установил их в столбец с 3 li's в каждом столбце. Проблема в том, что я хочу, чтобы ul был центрирован.
Я центрирую ul с помощью align-content: center. Когда я это сделаю и получаю больше li's, чем страница может показать (переполнена), li's в начале обрезается. (Те, что на левой стороне, обрезаются, но на правой стороне отображаются хорошо.)
  У меня не будет определенного числа li's, оно может варьироваться от 4 до 50. Поэтому я не могу удалить align-content: center, потому что, когда у меня есть небольшое количество li's, (скажем, 4), результаты не то, что я хочу.
Как я могу центрировать ul без обрезания?
JSFiddle
html, body {
    margin: 0;
    height: 100%;
}
div {
    align-items: center;
    justify-content: center;
    height: 100%;
    display: flex;
    overflow: auto;
    background-color:aqua;
}
ul {
    margin-top: auto;
    margin-bottom: auto;
    flex-direction: column;
    width: 100%;
    height: 70%;
    padding: 0;
    display: inline-flex;
    flex-wrap: wrap;
    align-content: center;
}
li {
    flex-basis: calc(100% / 3 - 2px);
    /* Subtract the border */
    color: firebrick;
    border: 1px solid firebrick;
    background-color: greenYellow;
    list-style-type: none;
    width: 200px;
}<div>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
        <li>9</li>
        <li>10</li>
        <li>11</li>
        <li>12</li>
        <li>13</li>
        <li>14</li>
        <li>15</li>
        <li>16</li>
        <li>17</li>
        <li>18</li>
        <li>19</li>
        <li>20</li>
    </ul>
</div>