Bird
Raised Fist0
Tailwindmarkup~5 mins

Order and self-alignment in Tailwind

Choose your learning style10 modes available
Introduction

Order and self-alignment help you control where items appear and how they line up inside a container. This makes your page look neat and organized.

You want to change the position of a box inside a row without changing the HTML order.
You want one item to line up differently from others in a list or grid.
You want to move a button to the end of a menu without rearranging the code.
You want to center one item vertically while others stay at the top.
You want to highlight or separate one item by changing its alignment.
Syntax
Tailwind
/* Order syntax */
order-{number}

/* Self-alignment syntax */
self-auto
self-start
self-center
self-end
self-stretch

Order uses numbers to move items forward or backward visually.

Self-alignment changes how one item aligns inside its container, ignoring the container's default alignment.

Examples
The divs appear visually as 'First', 'Second', 'Third' despite being written in HTML as 'Second', 'First', 'Third'.
Tailwind
<div class="flex">
  <div class="order-2">Second</div>
  <div class="order-1">First</div>
  <div class="order-3">Third</div>
</div>
Each item aligns differently vertically inside the container.
Tailwind
<div class="flex items-start h-24">
  <div class="self-center">Center aligned</div>
  <div class="self-end">End aligned</div>
  <div>Default aligned</div>
</div>
Sample Program

This example shows three colored boxes inside a row. They appear in the order: green, red, blue because of the order classes. Each box aligns vertically differently: top, center, and bottom.

Tailwind
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Order and Self-Alignment Example</title>
  <script src="https://cdn.tailwindcss.com"></script>
</head>
<body class="p-6">
  <h1 class="text-xl font-bold mb-4">Order and Self-Alignment Demo</h1>
  <div class="flex h-24 border border-gray-400">
    <div class="bg-blue-400 text-white p-4 order-3 self-start">Box 1 (order 3, start)</div>
    <div class="bg-green-400 text-white p-4 order-1 self-center">Box 2 (order 1, center)</div>
    <div class="bg-red-400 text-white p-4 order-2 self-end">Box 3 (order 2, end)</div>
  </div>
</body>
</html>
OutputSuccess
Important Notes

Order only changes visual position, not the actual HTML order. This helps screen readers read content in the correct order.

Self-alignment works only inside flex or grid containers.

Use small order numbers for items you want to appear first.

Summary

Order changes the visual position of items without changing the code order.

Self-alignment lets one item align differently inside its container.

Both help make layouts flexible and easy to adjust.

Practice

(1/5)
1. What does the order utility in Tailwind CSS do?
easy
A. Changes the visual position of an item without changing the HTML order
B. Changes the font size of an element
C. Adds margin around an element
D. Changes the background color of an element

Solution

  1. Step 1: Understand the purpose of order

    The order utility changes the visual order of flex items without changing their order in the HTML code.
  2. Step 2: Compare with other options

    Options A, C, and D describe unrelated CSS properties like font size, margin, and background color, which are not related to order.
  3. Final Answer:

    Changes the visual position of an item without changing the HTML order -> Option A
  4. Quick Check:

    Order changes visual position only [OK]
Hint: Order changes visual position, not HTML structure [OK]
Common Mistakes:
  • Confusing order with margin or padding
  • Thinking order changes HTML code
  • Mixing order with color or font utilities
2. Which Tailwind class correctly sets an item to appear first in a flex container?
easy
A. order-last
B. order-1
C. order-first
D. order-0

Solution

  1. Step 1: Identify the class for first order

    In Tailwind, order-first sets the item to appear before all others visually.
  2. Step 2: Understand other options

    order-last places the item last, order-1 and order-0 set numeric order but order-first is the special class for first position.
  3. Final Answer:

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

    Use order-first to appear first [OK]
Hint: order-first always places item visually first [OK]
Common Mistakes:
  • Using order-1 instead of order-first for first position
  • Confusing order-last with order-first
  • Assuming order-0 is always first
3. Given this HTML and Tailwind CSS:
<div class="flex">
  <div class="order-2">A</div>
  <div class="order-1">B</div>
  <div class="order-3">C</div>
</div>

What is the visual order of the items displayed in the browser?
medium
A. A B C
B. B A C
C. C B A
D. B C A

Solution

  1. Step 1: Understand the order values

    Items have order values: A=2, B=1, C=3. Lower order values appear first visually.
  2. Step 2: Arrange items by order

    Order 1 (B) appears first, then order 2 (A), then order 3 (C). So visual order is B A C.
  3. Final Answer:

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

    Lower order value appears first [OK]
Hint: Lower order number means earlier visual position [OK]
Common Mistakes:
  • Assuming HTML order is visual order
  • Mixing up order numbers
  • Ignoring that order affects only visual placement
4. You want to align one flex item to the end vertically inside a flex container. Which Tailwind class should you add to that item?
medium
A. self-start
B. self-center
C. items-end
D. self-end

Solution

  1. Step 1: Understand self-alignment classes

    self-end aligns the single item to the end of the cross axis (vertical in a row flex container).
  2. Step 2: Differentiate from container alignment

    items-end aligns all items, but self-end targets only one item.
  3. Final Answer:

    self-end -> Option D
  4. Quick Check:

    Use self-end for single item vertical end alignment [OK]
Hint: self-end aligns one item at container's end vertically [OK]
Common Mistakes:
  • Using items-end to align only one item
  • Confusing self-start with self-end
  • Not understanding self- vs items- prefixes
5. You have a flex container with three items. You want the second item to appear last visually but keep its vertical alignment centered, while the others align to the start vertically. Which Tailwind classes should you apply to the second item?
hard
A. order-last self-center
B. order-last items-start
C. order-3 self-start
D. order-3 items-center

Solution

  1. Step 1: Set visual order to last

    Use order-last to make the second item appear last visually.
  2. Step 2: Align only the second item vertically centered

    Use self-center to align that item vertically center without affecting others.
  3. Step 3: Confirm other options

    items-start and items-center affect all items, not just one. order-3 is numeric but order-last is clearer for last position.
  4. Final Answer:

    order-last self-center -> Option A
  5. Quick Check:

    order-last + self-center for last and centered item [OK]
Hint: Combine order-last with self-center for last and centered item [OK]
Common Mistakes:
  • Using items-start or items-center instead of self- classes
  • Using numeric order instead of order-last
  • Aligning all items instead of just one
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