SmartCodingTips

Grid Layout in HTML & CSS

CSS Grid Layout is a powerful system for creating two-dimensional layouts on the web. It allows you to design web pages using rows and columns with precise control.

Basic Grid Example


<style>
  .grid-container {
    display: grid;
    grid-template-columns: auto auto auto;
    gap: 10px;
    background-color: #f2f2f2;
    padding: 10px;
  }

  .grid-item {
    background-color: #2196F3;
    color: white;
    padding: 20px;
    text-align: center;
    border-radius: 8px;
  }
</style>

<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>
            

Common Grid Properties

  • display: grid; – Enables grid layout on the container.
  • grid-template-columns – Defines the number and size of columns.
  • grid-template-rows – Defines the number and size of rows.
  • gap – Sets spacing between rows and columns.
  • grid-column / grid-row – Specifies how an item spans multiple columns or rows.
  • justify-items / align-items – Controls item alignment.

Responsive Grid

Using repeat() and minmax(), you can create responsive grids easily:


<style>
  .responsive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px;
  }

  .responsive-grid .item {
    background-color: #4CAF50;
    color: white;
    padding: 20px;
    text-align: center;
    border-radius: 8px;
  }
</style>

<div class="responsive-grid">
  <div class="item">A</div>
  <div class="item">B</div>
  <div class="item">C</div>
  <div class="item">D</div>
</div>