Bird
Raised Fist0
Bootsrapmarkup~5 mins

Column ordering in Bootsrap

Choose your learning style10 modes available
Introduction

Column ordering lets you change the order of columns on a webpage without changing the HTML. This helps make your layout look good on different screen sizes.

You want the columns to appear in a different order on mobile than on desktop.
You need to highlight a specific column first on small screens.
You want to rearrange content visually without changing the source code.
You want to improve readability by changing column order on tablets.
You want to keep your HTML simple but control layout order with CSS.
Syntax
Bootsrap
Use Bootstrap classes like .order-0, .order-1, ..., .order-5 on columns.
You can also use responsive classes like .order-md-1 to change order on medium screens and up.

Lower order numbers appear first, higher numbers appear later.

Responsive order classes let you change order at different screen sizes.

Examples
This makes the second column appear second, the first column first, and the third column last.
Bootsrap
<div class="row">
  <div class="col order-2">Second column</div>
  <div class="col order-1">First column</div>
  <div class="col order-3">Third column</div>
</div>
On medium screens and larger, columns reorder as 1, 2, 3. On smaller screens, they keep their original order.
Bootsrap
<div class="row">
  <div class="col order-md-3">Third on medium+</div>
  <div class="col order-md-1">First on medium+</div>
  <div class="col order-md-2">Second on medium+</div>
</div>
Sample Program

This example shows three columns with different order classes for medium screens and larger. On small screens, columns appear in HTML order. On medium and larger, columns reorder as 2, 3, 1 visually.

Bootsrap
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Bootstrap Column Ordering 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>Column Ordering Demo</h1>
    <p>Resize the browser to see column order change on medium screens and up.</p>
    <div class="row border p-3">
      <div class="col bg-primary text-white order-md-3 p-3">Column 1 (order-md-3)</div>
      <div class="col bg-success text-white order-md-1 p-3">Column 2 (order-md-1)</div>
      <div class="col bg-warning text-dark order-md-2 p-3">Column 3 (order-md-2)</div>
    </div>
  </main>
</body>
</html>
OutputSuccess
Important Notes

Order classes only change visual order, not the reading order for screen readers.

Use order classes carefully to keep your page accessible and logical.

Combine with responsive classes to make layouts adapt well on all devices.

Summary

Column ordering changes the visual order of columns without changing HTML.

Use Bootstrap's .order-* classes to set order numbers.

Responsive order classes let you reorder columns on different screen sizes.

Practice

(1/5)
1. What does Bootstrap's .order-* class do in a grid layout?
easy
A. It adds padding inside columns.
B. It changes the visual order of columns without altering the HTML structure.
C. It hides columns on smaller screens.
D. It changes the background color of columns.

Solution

  1. Step 1: Understand the purpose of .order-* classes

    Bootstrap's .order-* classes let you rearrange columns visually without changing their HTML order.
  2. Step 2: Compare with other options

    The other options describe unrelated styling or behavior, not column ordering.
  3. Final Answer:

    It changes the visual order of columns without altering the HTML structure. -> Option B
  4. Quick Check:

    Column ordering = Visual reorder without HTML change [OK]
Hint: Remember: .order-* changes visual order, not HTML order [OK]
Common Mistakes:
  • Thinking .order-* changes HTML structure
  • Confusing order with visibility or color
  • Assuming it affects padding or margins
2. Which of the following is the correct syntax to make a column appear first using Bootstrap classes?
easy
A. class="col order-last"
B. class="col order-1"
C. class="col order-0"
D. class="col order-first"

Solution

  1. Step 1: Recall Bootstrap order classes

    Bootstrap provides order-first to place a column first, order-last to place last, and numeric order-* from 0 to 12 for custom order.
  2. Step 2: Analyze each option

    class="col order-1" uses order-1 which is not guaranteed first. class="col order-first" uses order-first which explicitly places the column first. class="col order-0" uses order-0 which is valid but less clear than order-first. class="col order-last" places the column last.
  3. Final Answer:

    class="col order-first" -> Option D
  4. Quick Check:

    Use order-first to place column first [OK]
Hint: Use order-first to make a column appear first easily [OK]
Common Mistakes:
  • Using order-0 instead of order-first
  • Confusing order-last with order-first
  • Using invalid order numbers like order-13
3. Given this HTML snippet:
<div class="row">
  <div class="col order-3">A</div>
  <div class="col order-1">B</div>
  <div class="col order-2">C</div>
</div>

What is the visual order of columns on the page?
medium
A. B, C, A
B. A, B, C
C. C, B, A
D. B, A, C

Solution

  1. Step 1: Understand order numbers

    Lower order numbers appear first visually. Here, B has order-1, C order-2, A order-3.
  2. Step 2: Arrange columns by order

    Order from smallest to largest: B (1), C (2), A (3).
  3. Final Answer:

    B, C, A -> Option A
  4. Quick Check:

    Order numbers ascending = B, C, A [OK]
Hint: Lower order-* number means earlier visual position [OK]
Common Mistakes:
  • Assuming HTML order is visual order
  • Mixing up order numbers and column content
  • Ignoring that order-1 is before order-2
4. You want the second column to appear first on small screens but keep original order on larger screens. Which class should you add?
medium
A. order-lg-first
B. order-first
C. order-sm-first
D. order-last

Solution

  1. Step 1: Understand responsive order classes

    Bootstrap uses breakpoint prefixes like sm, md, lg to apply order changes at specific screen sizes.
  2. Step 2: Match requirement to class

    To reorder only on small screens, use order-sm-first. order-first applies to all sizes. order-lg-first applies on large screens. order-last places last always.
  3. Final Answer:

    order-sm-first -> Option C
  4. Quick Check:

    Use order-sm-first for small screen reorder [OK]
Hint: Use order-sm-first to reorder only on small screens [OK]
Common Mistakes:
  • Using order-first which affects all sizes
  • Using order-lg-first which affects large screens
  • Confusing order-last with order-first
5. You have three columns with classes:
<div class="col order-2 order-md-1">First</div>
<div class="col order-1 order-md-2">Second</div>
<div class="col order-3">Third</div>

How will the columns appear on small and medium screens respectively?
hard
A. Small: Second, First, Third; Medium: First, Second, Third
B. Small: First, Second, Third; Medium: Second, First, Third
C. Small: First, Second, Third; Medium: First, Second, Third
D. Small: Second, Third, First; Medium: First, Second, Third

Solution

  1. Step 1: Analyze small screen order

    On small screens, order-* without breakpoint applies. So orders are: First=2, Second=1, Third=3. Visual order: Second (1), First (2), Third (3).
  2. Step 2: Analyze medium screen order

    On medium screens, order-md-* overrides. First=1, Second=2, Third=3. Visual order: First, Second, Third.
  3. Final Answer:

    Small: Second, First, Third; Medium: First, Second, Third -> Option A
  4. Quick Check:

    Breakpoint order overrides default order [OK]
Hint: Breakpoint-specific order overrides default order [OK]
Common Mistakes:
  • Ignoring breakpoint-specific order classes
  • Assuming order-md-* applies on small screens
  • Mixing up order numbers and visual positions
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