<!doctype html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link href="/assets/reset.css" rel="stylesheet"> <link href="setup.css" rel="stylesheet"> <link href="style.css" rel="stylesheet"> </head> <body> <ol> <li> <p>Item 1</p> </li> <li> <p>Item 2 <br>with line <br>breaks</p> </li> <li> <p>Item 3 <br>also</p> </li> <li> <p>Item 4</p> </li> <li> <p>Item 5</p> </li> </ol> <ol> <li> <p>Item 1</p> </li> <li> <p>Item 2 <br>with line <br>breaks</p> </li> <li> <p>Item 3 <br>also</p> </li> <li> <p>Item 4</p> </li> <li> <p>Item 5</p> </li> </ol> <ol> <li> <p>Item 1</p> </li> <li> <p>Item 2 <br>with line <br>breaks</p> </li> <li> <p>Item 3 <br>also</p> </li> <li> <p>Item 4</p> </li> <li> <p>Item 5</p> </li> </ol> </body> </html>
body { font-family: sans-serif; padding: 20px; } ol { background-color: gold; } ol:not(:first-child) { margin-top: 20px; } li { background-color: tomato; border-bottom: 2px solid firebrick; border-right: 2px solid firebrick; padding: 5px; }
ol { display: grid; } ol:first-child { /* Fill as many `100px` columns as possible. */ grid-template-columns: repeat(auto-fill, 100px); } ol:nth-child(2) { /* Add flexible `1fr` columns when larger than `100px`. */ grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); } ol:last-child { /* Same, but always fit them to the row! */ grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); }