Skip to content
Home ยป HTML Layout Using Grid

HTML Layout Using Grid

    In the previous article, you have learned about flex-box layout. You can create a grid like structure in HTML page using flex-box. In a grid like structure all blocks would be equal sized. But that involves adjusting each box using flex. The HTML and CSS has a different display property just for a grid layout. In this article, you will learn to create an HTML page with grid layout.

    Example: HTML Grid Layout

    In this section, we will be creating a simple grid layout with 6 product image and their captions. You will also use HTML 5 semantic elements to create the page.

    HTML and CSS Code for Product Page

    <!DOCTYPE html>
    <html>
    <head>
        <title>HTML Grid Layout - Product Page</title>
    	<meta charset="utf-8">
    	<style>
    	  #main-title,#footer {
    	    width:80%;
    		margin:auto;
    		padding:2%;
    		text-align:center;
    		background: #282828;
    		color: #ffffff;
    	  }	  
    	 #main-area{
    	  width: 80%;
    	  margin:auto;
    	  padding:2%;
    	  display:grid;
    	  grid-template-columns:1fr 1fr 1fr;
    	  background:lightgray;	 
    	 }
    	.img-product{
    	
    	 height:auto;
    	 background:lavender;
    	 padding:2%;
    	 text-align:center;
    	}
    	.img-product a:hover {
    	   box-shadow: 5px 10px 5px #282828;
    	}
    	</style>
    </head>
    <body>
    <header id="main-title">
    <h1>Our Products</h1>
    </header>
    <main id="main-area">
       <figure class="img-product" id="box-1">
       <a href="#"><img src="images/pencils.jpg" width="100%"></a>
       </figure>
       <figure class="img-product" id="box-2">
       <a href="#"><img src="images/uniform.png" width="100%"></a>
       </figure>
       <figure class="img-product" id="box-3">
       <a href="#"><img src="images/football.png" width="100%"></a>
       </figure>
       <figure class="img-product" id="box-4">
       <a href="#"><img src="images/umbrellas.jpg" width="100%"></a>
       </figure>
       <figure class="img-product" id="box-5">
        <a href="#"><img src="images/books.jpg" width="100%"></a>
       </figure>
       <figure class="img-product" id="box-6">
       <a href="#"><img src="images/shoes.jpg" width="100%"></a>
       </figure>
    </main>
    <footer id="footer">
    <p>our-productsยฉ-2010-2017-All Rights Reserved</p>
    </footer>
    </body>
    </html>

    Output To Browser – Product Grid

    Output - HTML Grid Layout
    Figure 1 – Output of HTML Grid Layout