Bird
Raised Fist0
Tailwindmarkup~5 mins

Max-width responsive variants in Tailwind

Choose your learning style10 modes available
Introduction

Max-width responsive variants help you control how wide elements can get on different screen sizes. This keeps your design neat and easy to read on phones, tablets, and desktops.

You want an image or box to never get wider than a certain size on big screens.
You want text content to stay readable by limiting its width on large monitors.
You want a container to adjust its max width depending on the device screen size.
You want to create a layout that looks good on both mobile and desktop without extra code.
You want to prevent elements from stretching too wide on very large screens.
Syntax
Tailwind
max-w-{size}
sm:max-w-{size}
md:max-w-{size}
lg:max-w-{size}
xl:max-w-{size}
2xl:max-w-{size}

Replace {size} with Tailwind's predefined max-width sizes like xs, sm, md, lg, xl, 2xl, full, min, max, or custom values.

Prefix with screen size like sm: or lg: to apply max-width only on that screen size and up.

Examples
Sets max-width to medium size on all screen sizes.
Tailwind
max-w-md
Sets max-width to large only on small screens and bigger (≥640px).
Tailwind
sm:max-w-lg
Sets max-width to extra large only on medium screens and bigger (≥768px).
Tailwind
md:max-w-xl
Sets max-width to 2xl only on large screens and bigger (≥1024px).
Tailwind
lg:max-w-2xl
Sample Program

This example creates a white box centered on the page with padding and border. The box's maximum width changes as the screen gets bigger:

  • max-w-sm on very small screens
  • sm:max-w-md on small screens and up
  • md:max-w-lg on medium screens and up
  • lg:max-w-xl on large screens and up

This keeps the box from getting too wide on small devices but allows it to grow on bigger screens.

Tailwind
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Max-width Responsive Variants Example</title>
  <script src="https://cdn.tailwindcss.com"></script>
</head>
<body class="bg-gray-100 p-6">
  <main class="mx-auto bg-white p-4 border rounded max-w-sm sm:max-w-md md:max-w-lg lg:max-w-xl">
    <h1 class="text-xl font-bold mb-2">Responsive Max-Width Box</h1>
    <p>This box changes its maximum width depending on your screen size.</p>
    <p>Resize the browser window to see it get wider on bigger screens.</p>
  </main>
</body>
</html>
OutputSuccess
Important Notes

Use max-w-full if you want the element to never be wider than its container.

Combine max-width with padding and margin to keep content nicely spaced.

Test your design by resizing the browser or using browser DevTools device simulator.

Summary

Max-width responsive variants control how wide elements can be on different screen sizes.

Use prefixes like sm:, md:, lg: to apply max-width at specific breakpoints.

This helps keep your layout clean and readable on all devices.

Practice

(1/5)
1. What does the Tailwind class md:max-w-lg do?
easy
A. Sets the max-width to large only on medium screens and larger
B. Sets the max-width to large on all screen sizes
C. Sets the max-width to medium on large screens only
D. Sets the max-width to large only on small screens

Solution

  1. Step 1: Understand the prefix md:

    The prefix md: means the style applies from medium screen sizes and up.
  2. Step 2: Interpret max-w-lg

    The class max-w-lg sets the maximum width to a large size.
  3. Final Answer:

    Sets the max-width to large only on medium screens and larger -> Option A
  4. Quick Check:

    Prefix md: + max-w-lg = Sets the max-width to large only on medium screens and larger [OK]
Hint: Remember prefixes apply styles from that screen size up [OK]
Common Mistakes:
  • Thinking the class applies on all screen sizes
  • Confusing md: with lg:
  • Assuming it applies only on small screens
2. Which of these is the correct Tailwind syntax to set max-width to medium on large screens only?
easy
A. lg:max-w-md
B. max-w-lg
C. md:max-w-md
D. sm:max-w-lg

Solution

  1. Step 1: Identify the breakpoint for large screens

    The prefix for large screens is lg:.
  2. Step 2: Match max-width size to medium

    The class for medium max-width is max-w-md.
  3. Final Answer:

    lg:max-w-md -> Option A
  4. Quick Check:

    Large screen prefix + medium max-width = lg:max-w-md [OK]
Hint: Use lg: for large screens, then max-width size [OK]
Common Mistakes:
  • Using md: instead of lg:
  • Omitting the prefix and applying to all screens
  • Mixing max-width sizes with wrong prefixes
3. Given this HTML snippet:
<div class="max-w-sm md:max-w-lg lg:max-w-xl">Content</div>

What max-width applies when the screen width is 1024px (large breakpoint)?
medium
A. max-w-sm
B. max-w-xl
C. max-w-lg
D. No max-width applied

Solution

  1. Step 1: Identify the screen size breakpoint

    1024px corresponds to the large (lg) breakpoint in Tailwind.
  2. Step 2: Determine which max-width applies at large breakpoint

    At large screens, lg:max-w-xl overrides smaller breakpoints.
  3. Final Answer:

    max-w-xl -> Option B
  4. Quick Check:

    At 1024px, lg: classes apply = max-w-xl [OK]
Hint: At larger breakpoints, the largest prefix class applies [OK]
Common Mistakes:
  • Choosing the smallest max-width instead of largest
  • Ignoring the breakpoint order
  • Thinking multiple max-widths apply simultaneously
4. What is wrong with this Tailwind class usage?
<div class="max-w-md sm:max-w-lg md:max-w-sm">Box</div>
medium
A. The sm: prefix is not supported for max-width
B. The syntax is invalid because of multiple max-width classes
C. The max-width decreases on larger screens, which is unusual
D. The classes will not apply because of missing lg: prefix

Solution

  1. Step 1: Analyze the max-width values at breakpoints

    At small screens, max-width is large (sm:max-w-lg), but at medium screens it drops to small (md:max-w-sm).
  2. Step 2: Understand typical responsive behavior

    Usually, max-width increases or stays the same on larger screens, not decreases.
  3. Final Answer:

    The max-width decreases on larger screens, which is unusual -> Option C
  4. Quick Check:

    Responsive max-width should not shrink on bigger screens [OK]
Hint: Max-width usually grows or stays same on bigger screens [OK]
Common Mistakes:
  • Thinking multiple max-width classes cause syntax errors
  • Believing sm: is invalid for max-width
  • Expecting missing lg: to cause errors
5. You want a container that is max-width small on mobile, medium on tablets, and extra-large on desktops. Which Tailwind class combination achieves this?
hard
A. max-w-sm sm:max-w-md md:max-w-lg
B. max-w-md sm:max-w-lg lg:max-w-xl
C. sm:max-w-sm md:max-w-md xl:max-w-xl
D. max-w-sm md:max-w-md lg:max-w-xl

Solution

  1. Step 1: Assign max-width for mobile (default)

    Use max-w-sm for small max-width on mobile (no prefix).
  2. Step 2: Assign max-width for tablets (medium screens)

    Use md:max-w-md to set medium max-width starting at medium breakpoint.
  3. Step 3: Assign max-width for desktops (large screens)

    Use lg:max-w-xl to set extra-large max-width starting at large breakpoint.
  4. Final Answer:

    max-w-sm md:max-w-md lg:max-w-xl -> Option D
  5. Quick Check:

    Default small + medium at md + extra-large at lg = max-w-sm md:max-w-md lg:max-w-xl [OK]
Hint: Set default, then md: and lg: for tablet and desktop widths [OK]
Common Mistakes:
  • Using sm: for mobile default instead of no prefix
  • Skipping the large breakpoint for desktop
  • Mixing up breakpoint order
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