CodeGym /Java Course /Frontend SELF EN /Space Distribution

Space Distribution

Frontend SELF EN
Level 28 , Lesson 0
Available

6.1 The grid-gap Property

CSS Grid Layout provides flexible tools for managing the space between grid items. The properties grid-gap, grid-row-gap, and grid-column-gap make it easy to set the spacing between rows and columns, helping create neat and organized layouts. Let's dive deeper into these properties.

The grid-gap property (shorthand for gap) defines the overall space between grid rows and columns. It's a shorthand for grid-row-gap and grid-column-gap.

Syntax:

    
      .grid-container {
        grid-gap: value;
      }
    
  

Where:

  • value: gap value between rows and columns. Can be specified in various units (px, %, fr, auto, etc.)

Example 1: Single value for rows and columns

In this example, a gap of 20px will be applied both to rows and columns:

CSS
    
      .grid-container {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(3, 100px);
        grid-gap: 20px; /* 20px gap between all rows and columns */
      }
    
  

Example 2: Different values for rows and columns

In this example, two values are used: the first (10px) for rows, the second (20px) for columns:

CSS
    
      .grid-container {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(3, 100px);
        grid-gap: 10px 20px; /* 10px between rows, 20px between columns */
      }
    
  

6.2 The grid-row-gap Property

The grid-row-gap property specifies the gap between rows in the grid. It allows setting an individual value for the gap between rows, independently of columns.

Syntax:

    
      .grid-container {
        grid-row-gap: value;
      }
    
  

Where:

  • value: gap value between rows. Can be specified in various units
  • Example 1: Setting a fixed gap between rows

    In this example, the gap between rows will be 15px:

    CSS
        
          .grid-container {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: repeat(3, 100px);
            grid-row-gap: 15px; /* 15px gap between rows */
          }
        
      

    Example 2: Using percentage for the gap

    In this example, the gap between rows will be 5% of the row height:

    CSS
        
          .grid-container {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: repeat(3, 100px);
            grid-row-gap: 5%; /* 5% gap of the row height */
          }
        
      

    6.3 The grid-column-gap Property

    The grid-column-gap property specifies the gap between columns in the grid. It allows setting an individual value for the gap between columns, independently of rows.

    Syntax:

        
          .grid-container {
            grid-column-gap: value;
          }
        
      

    Where:

    • value: gap value between columns. Can be specified in various units

    Example 1: Setting a fixed gap between columns

    In this example, the gap between columns will be 25px:

    CSS
        
          .grid-container {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: repeat(3, 100px);
            grid-column-gap: 25px; /* 25px gap between columns */
          }
        
      

    Example 2: Using em for the gap

    In this example, the gap between columns will be 2em:

    CSS
        
          .grid-container {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: repeat(3, 100px);
            grid-column-gap: 2em; /* 2em gap between columns */
          }
        
      

    6.4 Combined use of grid-row-gap and grid-column-gap

    You can combine the grid-row-gap and grid-column-gap properties for more precise control over the gaps between rows and columns.

    Full implementation example:

    CSS
        
          .grid-container {
            display: grid;
            grid-template-columns: repeat(3, 1fr); /* Three columns of equal width */
            grid-template-rows: repeat(3, 100px); /* Three rows of fixed height */
            grid-row-gap: 15px; /* 15px gap between rows */
            grid-column-gap: 25px; /* 25px gap between columns */
          }
    
          .grid-item {
            background-color: #3498db;
            color: white;
            padding: 20px;
            text-align: center;
            border: 1px solid #fff;
          }
        
      
    HTML
        
          <!DOCTYPE html>
          <html lang="en">
            <head>
              <meta charset="UTF-8">
              <meta name="viewport" content="width=device-width, initial-scale=1.0">
              <title>Example of grid-gap, grid-row-gap, and grid-column-gap Usage</title>
              <link rel="stylesheet" href="styles.css">
            </head>
            <body>
              <div class="grid-container">
                <div class="grid-item item1">Item 1</div>
                <div class="grid-item item2">Item 2</div>
                <div class="grid-item item3">Item 3</div>
                <div class="grid-item item4">Item 4</div>
                <div class="grid-item item5">Item 5</div>
                <div class="grid-item item6">Item 6</div>
              </div>
            </body>
          </html>
        
      

    Code Explanation:

    • .grid-container: creates a Grid container with three columns of equal width and three rows of fixed height. Uses the grid-row-gap and grid-column-gap properties to set the gaps between rows and columns
    • .grid-item: defines basic styles for grid items, such as background color, text color, padding, text alignment, and border
    1
    Task
    Frontend SELF EN, level 28, lesson 0
    Locked
    Even Spaces
    Even Spaces
    1
    Task
    Frontend SELF EN, level 28, lesson 0
    Locked
    Different Gaps
    Different Gaps
    Comments
    TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
    GO TO FULL VERSION