Responsive typography scaling helps text look good on all screen sizes. It makes reading easier on phones, tablets, and desktops.
Responsive typography scaling in Tailwind
class="text-[size] sm:text-[size] md:text-[size] lg:text-[size] xl:text-[size]"Use Tailwind's responsive prefixes like sm:, md:, lg:, and xl: to set different font sizes for different screen widths.
Sizes can be Tailwind's predefined sizes like text-sm, text-lg, or custom sizes using square brackets like text-[1.25rem].
<p class="text-base sm:text-lg md:text-xl lg:text-2xl">Responsive text example</p><h1 class="text-2xl md:text-4xl">Heading scales up on medium screens</h1><p class="text-[1rem] sm:text-[1.25rem] md:text-[1.5rem]">Custom size scaling</p><p class="text-base lg:text-lg xl:text-xl">Text grows on large and extra-large screens</p>This page uses Tailwind's responsive font size classes to make the heading and paragraph text grow bigger on larger screens. The text stays readable on small devices and looks nicely scaled on desktops.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Responsive Typography with Tailwind</title> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="p-6"> <header> <h1 class="text-2xl sm:text-3xl md:text-4xl lg:text-5xl font-bold mb-4"> Welcome to Responsive Typography </h1> </header> <main> <p class="text-base sm:text-lg md:text-xl lg:text-2xl"> This paragraph text will scale smoothly as you resize the browser window. Try making the window smaller or larger to see the effect. </p> </main> </body> </html>
Responsive typography improves accessibility by making text easier to read on all devices.
Tailwind's responsive prefixes correspond to common screen widths: sm (≥640px), md (≥768px), lg (≥1024px), xl (≥1280px).
Common mistake: setting fixed font sizes without responsive prefixes can make text too small or too large on some devices.
Use Tailwind's responsive prefixes to change font size on different screen widths.
Start with a base size and increase it for larger screens for better readability.
Test your design by resizing the browser or using device simulators in DevTools.
Practice
text-lg md:text-xl do in terms of font size?Solution
Step 1: Understand Tailwind responsive prefixes
The prefixmd:applies styles starting from medium screen sizes (768px and up).Step 2: Interpret the class
It sets font size to large by default, then changes to extra large on medium and larger screens.text-lg md:text-xlFinal Answer:
Sets the font size to large on small screens and extra large on medium and bigger screens. -> Option AQuick Check:
Responsive prefix changes font size at medium breakpoint [OK]
- Thinking md: applies to small screens
- Assuming no change in font size
- Confusing default and prefixed classes
Solution
Step 1: Identify correct font size classes
Tailwind usestext-smfor small,text-mdis not a valid class,text-lgis medium-large.Step 2: Check responsive prefix usage
lg:applies styles at large screens (1024px+). Sotext-sm lg:text-lgmeans small text on mobile, larger text on large screens.Final Answer:
text-sm lg:text-lg-> Option CQuick Check:
Use valid classes and correct prefixes [OK]
- Using invalid class text-md
- Reversing screen size prefixes
- Mixing up font size names
text-base sm:text-lg md:text-xl lg:text-2xl?Solution
Step 1: Identify screen size breakpoints
1200px width is larger than lg breakpoint (1024px), so lg: classes apply.Step 2: Determine which font size applies
Since lg:text-2xl applies at 1024px+, the font size will be 2xl on 1200px screen.Final Answer:
text-2xl -> Option DQuick Check:
Largest breakpoint prefix applies at wide screens [OK]
- Choosing smaller breakpoint sizes
- Ignoring lg: prefix effect
- Confusing breakpoint order
text-base md:text-lg sm:text-xl but the font size is not increasing on medium screens. What is the problem?Solution
Step 1: Understand responsive prefix order
Tailwind applies styles in order of screen size: base, sm, md, lg, xl.Step 2: Check class order impact
Classes are applied left to right, somd:text-lgis overridden bysm:text-xlbecause sm: is smaller breakpoint but comes later.Final Answer:
The order of responsive prefixes is incorrect; sm: should come before md: -> Option BQuick Check:
Order responsive classes from smallest to largest breakpoint [OK]
- Placing larger breakpoint classes before smaller ones
- Assuming Tailwind ignores class order
- Confusing breakpoint sizes
text-sm on mobile, text-base on tablets (640px+), and text-lg on desktops (1024px+). Which Tailwind class combination achieves this?Solution
Step 1: Match breakpoints to screen sizes
Mobile is default (no prefix), tablets start at sm (640px), desktops at lg (1024px). For 1024px+, lg: is correct for desktops.Step 2: Check class correctness
text-smdefault for mobile,md:text-baseapplies at 768px+, andlg:text-lgapplies at 1024px+. This combination ensures text-base on tablets (md breakpoint) and text-lg on desktops (lg breakpoint).Final Answer:
text-sm md:text-base lg:text-lg-> Option AQuick Check:
Use default, then md:, then lg: for ascending screen sizes [OK]
- Mixing breakpoint order
- Using lg: instead of md: for tablets
- Setting smaller sizes on larger screens
Ready to prove it?
Pass the test and this pattern moves unknown
