Comment faire pour afficher les éléments de liste sous forme de colonnes?

Je suis en train de construire mon premier réactif de mise en page. Je veux afficher la liste des éléments dans une ligne verticale, en fonction de la largeur.

<div style="height:800px;">
    <ul>
       <li>1</li>
       <li>2</li>
       <li>3</li>
       <li>4</li>
       <li>5</li>
       <li>6</li>
       <li>7</li>
    </ul>
</div>
1 5 
2 6 
3 7 
4 

Si le navigateur est redimensionnée, je veux qu'il devienne

1 4 7 
2 5 
3 6 

Quelqu'un peut m'aider? J'ai essayé pendant des heures et je ne peux pas obtenir quoi que ce soit. J'ai essayé à l'aide de tableaux, mais je ne peux pas le faire comme cela.