Defining a fixed set of equal width items for each row in a grid can be done using the grid-template-columns property in CSS3.
grid-template-columns: repeat(numberOfColumns, widthOfEachColumn);
You can implement this in any of the following 3 ways.
grid-template-columns: repeat(3, 200px); grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(3, 25%);
Note that here fr is the fractional unit, which represents a fraction of the leftover space in the grid container.
index.html
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>CSS3 - Grid Demo</title> <link rel="stylesheet" href="styles.css"> </head> <body> <div class="grid-container"> <div class="grid-item">1</div> <div class="grid-item">2</div> <div class="grid-item">3</div> <div class="grid-item">4</div> <div class="grid-item">5</div> <div class="grid-item">6</div> <div class="grid-item">7</div> <div class="grid-item">8</div> </div> </body> </html>
style.css
.grid-container { display: grid; grid-template-columns: repeat(8, 1fr); background-color: lightblue; padding: 10px; } .grid-item { background-color: lightgreen; border: 1px solid darkblue; padding: 20px; font-size: 30px; text-align: center; }