Bird
Raised Fist0
Bootsrapmarkup~5 mins

Nesting rows and columns in Bootsrap

Choose your learning style10 modes available
Introduction

Nesting rows and columns helps you create complex layouts inside a webpage. It lets you organize content in smaller sections inside bigger sections.

You want to divide a page into main parts and then split those parts further.
You need a sidebar with multiple sections inside it.
You want a grid inside a grid, like a photo gallery inside a content box.
You want to control spacing and alignment inside a column.
You want to create responsive layouts that adjust on different screen sizes.
Syntax
Bootsrap
<div class="row">
  <div class="col">
    <div class="row">
      <div class="col">Nested content</div>
    </div>
  </div>
</div>

Always put a .row inside a .col when nesting.

Use columns inside the nested row to keep the grid structure.

Examples
This example shows a row with two main columns. The first main column has a nested row with two smaller columns inside.
Bootsrap
<div class="row">
  <div class="col-6">
    <div class="row">
      <div class="col-6">Nested 1</div>
      <div class="col-6">Nested 2</div>
    </div>
  </div>
  <div class="col-6">Main column 2</div>
</div>
Here, a nested row has one column that takes full width inside the parent column.
Bootsrap
<div class="row">
  <div class="col">
    <div class="row">
      <div class="col">Nested full width</div>
    </div>
  </div>
</div>
Sample Program

This page shows a main row with two columns. The first column contains a nested row with two smaller columns inside. Borders and padding help you see the layout clearly.

Bootsrap
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Nesting Rows and Columns Example</title>
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" />
</head>
<body>
  <main class="container mt-4">
    <h1 class="mb-4">Nesting Rows and Columns</h1>
    <div class="row border p-3">
      <div class="col-8 border p-3">
        Main Column 1
        <div class="row mt-3">
          <div class="col-6 border p-2">Nested Column 1</div>
          <div class="col-6 border p-2">Nested Column 2</div>
        </div>
      </div>
      <div class="col-4 border p-3">Main Column 2</div>
    </div>
  </main>
</body>
</html>
OutputSuccess
Important Notes

Use borders or background colors temporarily to see how your nested grid looks.

Remember that nested rows must be inside columns to keep the layout working.

Bootstrap columns add padding (gutter) automatically for spacing.

Summary

Nesting rows and columns lets you build detailed layouts inside bigger sections.

Always put a .row inside a .col when nesting.

Use borders or colors to check your layout visually while building.

Practice

(1/5)
1. What is the correct way to nest a row inside a Bootstrap grid layout?
easy
A. Place a .row inside a .col element
B. Place a .col inside a .container directly
C. Place a .container inside a .row
D. Place a .row directly inside another .row

Solution

  1. Step 1: Understand Bootstrap grid nesting rules

    Bootstrap requires that a .row must be inside a .container or .col for proper alignment.
  2. Step 2: Identify correct nesting for rows and columns

    When nesting, a .row should be placed inside a .col to maintain the grid structure and spacing.
  3. Final Answer:

    Place a .row inside a .col element -> Option A
  4. Quick Check:

    Nesting rows inside columns = Place a .row inside a .col element [OK]
Hint: Always nest .row inside .col for layout [OK]
Common Mistakes:
  • Putting .row directly inside another .row
  • Placing .col directly inside .container without a row
  • Nesting .container inside .row
2. Which of the following is the correct syntax to nest a row inside a column in Bootstrap?
easy
A.
<div class='col'><div class='row'><div class='col'></div></div></div>
B.
<div class='row'><div class='col'><div class='row'></div></div></div>
C.
<div class='row'><div class='row'><div class='col'></div></div></div>
D.
<div class='col'><div class='col'><div class='row'></div></div></div>

Solution

  1. Step 1: Check the outer container

    The outermost element should be a .col to allow nesting inside it.
  2. Step 2: Verify the nested structure

    Inside the .col, a .row is correctly nested, and inside that row, columns can be placed.
  3. Final Answer:

    <div class='col'><div class='row'><div class='col'></div></div></div> -> Option A
  4. Quick Check:

    Row inside col, then col inside row =
    <div class='col'><div class='row'><div class='col'></div></div></div>
    [OK]
Hint: Nest .row inside .col, then add .col inside row [OK]
Common Mistakes:
  • Starting with .row instead of .col for nesting
  • Nesting .row directly inside another .row
  • Using .col inside .col without a row
3. Given the following Bootstrap code, what will be the visual layout in the browser?
<div class='container'>
  <div class='row'>
    <div class='col-6'>Left</div>
    <div class='col-6'>
      <div class='row'>
        <div class='col-6'>Top Right</div>
        <div class='col-6'>Bottom Right</div>
      </div>
    </div>
  </div>
</div>
medium
A. Left column takes half width; right column splits into two equal columns stacked vertically
B. Left column takes full width; right column is below left column
C. Left column takes half width; right column splits into two equal columns side by side horizontally
D. Left and right columns both take full width stacked vertically

Solution

  1. Step 1: Analyze the outer row columns

    The outer row has two columns each with col-6, so they split the container horizontally 50% each.
  2. Step 2: Analyze the nested row inside the right column

    The right column contains a nested row with two col-6 columns, which split that right half horizontally into two equal parts side by side.
  3. Final Answer:

    Left column takes half width; right column splits into two equal columns side by side horizontally -> Option C
  4. Quick Check:

    Nested row splits right col horizontally = Left column takes half width; right column splits into two equal columns side by side horizontally [OK]
Hint: Nested rows split inside parent column horizontally by default [OK]
Common Mistakes:
  • Thinking nested columns stack vertically by default
  • Assuming nested row splits full container width
  • Confusing col-6 with full width
4. Identify the error in this Bootstrap nested grid code:
<div class='container'>
  <div class='row'>
    <div class='row'>
      <div class='col'>Nested Column</div>
    </div>
  </div>
</div>
medium
A. Missing .container around the nested .row
B. A .row is nested directly inside another .row without a .col
C. The nested .col should be .col-12
D. The outer .row should be .col

Solution

  1. Step 1: Check nesting rules for rows and columns

    Bootstrap requires that a .row must be inside a .col when nested.
  2. Step 2: Identify the incorrect nesting

    The code nests a .row directly inside another .row without wrapping it in a .col, which breaks the grid structure.
  3. Final Answer:

    A .row is nested directly inside another .row without a .col -> Option B
  4. Quick Check:

    Row inside row without col = A .row is nested directly inside another .row without a .col [OK]
Hint: Never put .row directly inside another .row [OK]
Common Mistakes:
  • Nesting rows without columns
  • Assuming .col is optional inside rows
  • Confusing container placement
5. You want to create a layout where the left half of the page has two stacked sections, and the right half has a single section. Which Bootstrap structure correctly nests rows and columns to achieve this?
hard
A.
<div class='row'>
  <div class='col-6'>
    <div class='row'>
      <div class='col-6'>Top Left</div>
      <div class='col-6'>Bottom Left</div>
    </div>
  </div>
  <div class='col-6'>Right Side</div>
</div>
B.
<div class='row'>
  <div class='col-6'>Left Side</div>
  <div class='col-6'>
    <div class='col-12'>Right Top</div>
    <div class='col-12'>Right Bottom</div>
  </div>
</div>
C.
<div class='container'>
  <div class='row'>
    <div class='col-6'>
      <div class='col-12'>Top Left</div>
      <div class='col-12'>Bottom Left</div>
    </div>
    <div class='col-6'>Right Side</div>
  </div>
</div>
D.
<div class='row'>
  <div class='col-6'>
    <div class='row'>
      <div class='col-12'>Top Left</div>
      <div class='col-12'>Bottom Left</div>
    </div>
  </div>
  <div class='col-6'>Right Side</div>
</div>

Solution

  1. Step 1: Understand the layout goal

    The left half should have two stacked sections, so inside the left col-6, we need a nested row with two full-width columns stacked vertically.
  2. Step 2: Check the nesting structure

    <div class='row'>
      <div class='col-6'>
        <div class='row'>
          <div class='col-12'>Top Left</div>
          <div class='col-12'>Bottom Left</div>
        </div>
      </div>
      <div class='col-6'>Right Side</div>
    </div>
    nests a .row inside the left .col-6 and uses two .col-12 columns stacked vertically, which is correct. The right .col-6 is a single section.
  3. Final Answer:

    <div class='row'><div class='col-6'><div class='row'><div class='col-12'>Top Left</div><div class='col-12'>Bottom Left</div></div></div><div class='col-6'>Right Side</div></div> -> Option D
  4. Quick Check:

    Nested row with stacked full-width cols inside left half =
    <div class='row'>
      <div class='col-6'>
        <div class='row'>
          <div class='col-12'>Top Left</div>
          <div class='col-12'>Bottom Left</div>
        </div>
      </div>
      <div class='col-6'>Right Side</div>
    </div>
    [OK]
Hint: Stack sections with nested row and full-width cols inside a col [OK]
Common Mistakes:
  • Placing columns directly inside columns without a row
  • Using wrong column widths for stacking
  • Missing nested row inside the left column
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard