Building Your Own CSS Grid System for Layout Design

Building Your Own CSS Grid System for Layout Design

As a web developer, you know the importance of having a solid layout for your website. A good layout can make your website stand out and improve user experience. One of the ways you can achieve this is by using a CSS grid system. In this article, we’ll show you how to build your own CSS grid system for layout design.

What is a CSS Grid System?

A CSS grid system is a set of rules for creating a grid-based layout. It allows you to divide your web page into columns and rows, making it easier to position elements on the page. There are many CSS grid systems available, such as Bootstrap, Foundation, and Materialize. However, building your own grid system can be more flexible and tailored to your specific needs.

Planning Your Grid System

Before you start building your grid system, you need to plan it out. You should decide on the number of columns, the column width, the gutter width, and the overall grid width. Once you have these parameters, you can create a basic CSS grid system.

Number of Columns

The number of columns you choose will depend on the design of your website. Most grid systems use 12 columns, but you can use any number that fits your design. If you choose to use a different number of columns, make sure it is divisible by 2, 3, 4, or 6 for optimal flexibility.

Column Width

The column width is the width of each column in your grid system. You can choose any width you like, but it’s best to keep it between 60 and 100 pixels for desktop screens. For mobile screens, you may want to make the columns narrower.

Gutter Width

The gutter width is the space between columns. It’s important to have some space between columns to make your layout more readable. The gutter width should be between 20 and 40 pixels.

Overall Grid Width

The overall grid width is the width of your entire grid system. It should be based on the width of your website and the width of your individual columns and gutters. For example, if you have 12 columns at 80 pixels each and 20 pixels of gutter space, your overall grid width would be 980 pixels.

Building Your CSS Grid System

Now that you have planned out your grid system, it’s time to start building it. You can create a basic grid system using CSS floats and margins.

HTML Structure

First, you need to create the HTML structure for your grid system. You should create a container div that will hold your columns. Inside the container div, you should create a div for each column.

<div class="container">
  <div class="column"></div>
  <div class="column"></div>
  <div class="column"></div>

CSS Styles

Next, you need to add CSS styles to position the columns and create gutters. You can use the following CSS styles as a starting point:

.container {
  width: 980px;
  margin: 0 auto;
  overflow: hidden;

.column {
  float: left;
  margin-right: 20px;

This will create a container div with a width of 980 pixels and center it on the page. The columns will float left and have a margin-right of 20 pixels to create gutters.

Column Widths

To set the width of your columns, you can use the following CSS styles:

.column-1 {
  width: 60px;

.column-2 {
  width: 140px;

.column-3 {
  width: 220px;

/* and so on... */

This will set the width of each column to the desired value. You can create as many different column widths as you need.


Finally, you should add a clearfix to the container div to ensure that it clears the columns and expands to the correct height. You can use the following CSS style to add a clearfix:

.container::after {
  content: "";
  display: table;
  clear: both;


In conclusion, building your own CSS grid system can be a great way to create a flexible and tailored layout for your website. By planning out your grid system and using CSS floats and margins, you can create a grid-based layout that meets your specific needs. Remember to keep your column widths, gutter widths, and overall grid width in mind when building your grid system. With a little bit of effort, you can create a grid system that will make your website stand out and improve user experience.


Sign up for our newsletter, you’ll get info about all updates.

Popular Posts

Try some of our classes

Enter your email and we’ll send you some samples of our favorite classes.