Teyro
CoursesFor creatorsBlog
Log inGet started
Tey Mascot
LOADING.

Every expert you admire was once a beginner who refused to quit.

Teyro

The fun way to finish learning coding and AI: short daily lessons with streaks, leagues and friends.

Get the app

Learn

  • All courses
  • Learn coding
  • Learn AI
  • Learn online
  • How it works
  • Leagues
  • Get the app

Creators

  • Teach on Teyro
  • How teaching works
  • Teach coding online
  • Teach AI online
  • Join as a Founding Creator
  • Creator log in

Resources

  • Blog
  • Features
  • Use cases
  • Compare
  • FAQ

Legal

  • Terms of Use
  • Privacy Policy

© 2026 Teyro · support@teyro.app

HomeBlogSkill Building & Careers
Skill Building & Careers

rem vs em in CSS: The Difference and When to Use Each

rem is relative to the root font size and em to the parent. Learn how they compound, examples and a simple rule for choosing between them.

The Teyro TeamOct 26, 20261 min read
On this page7 sections
  1. Direct answer
  2. Example
  3. The compounding trap
  4. Rule of thumb
  5. Where Teyro fits
  6. The bottom line
  7. More guides

Both scale with text size, but from different starting points.

Direct answer

rem is based on the root (html) font size, so it is consistent everywhere. em is based on the element's own font size, so nested elements can compound. Use rem for most sizing and em for things that should scale with their own text, such as button padding.

Example

html { font-size: 100%; }     /* 16px by default */

h1 { font-size: 2rem; }       /* 32px */

.button {
  font-size: 1rem;
  padding: 0.5em 1em;         /* scales with the button's text */
}

The compounding trap

ul { font-size: 1.2em; }
ul ul { font-size: 1.2em; }   /* now 1.44 times the base */

Rule of thumb

UseFor
remfont sizes, spacing, layout
emcomponent padding that follows its text

Where Teyro fits

Teyro's Responsive Web Design with CSS course turns this into short lessons you can play in a few minutes a day. It has 100 lessons, and you can start free.

The bottom line

Default to rem, reach for em on purpose.

More guides

  • Responsive Tables
  • CSS aspect-ratio
  • 5 CSS Grid Layout Patterns Every Beginner Should Know
  • Css units rem em px
  • Responsive Web Design with CSS course

Frequently asked questions

What is the difference between rem and em?

rem is relative to the root element's font size. em is relative to the current element's font size, which can compound when nested.

Which should I use for font sizes?

rem is predictable. Use em when you want spacing to scale with a component's text size.

Why do em units get confusing?

Because nested elements multiply, so a 1.2em inside another 1.2em becomes larger than expected.

Learn it by playing

Responsive Web Design with CSS turns this into short, playable lessons. Free to start.

See the Responsive Web Design with CSS course

Free to start · No credit card needed

Share

Written by

The Teyro Team

Learning Team at Teyro

We build Teyro — an AI-powered learning platform that turns skill-building into a daily habit through bite-sized, gamified lessons. We write about the learning science and study strategies that shape our product.

More from The Teyro Team

On this page

  • Direct answer
  • Example
  • The compounding trap
  • Rule of thumb
  • Where Teyro fits
  • The bottom line
  • More guides

Keep reading

Skill Building & Careers

Best Careers for 2027: High-Demand Jobs and the Skills to Get Them

The best careers for 2027 and the jobs most in demand, based on BLS and World Economic Forum data, plus the skills each path needs.

Oct 30, 20263 min read
Skill Building & Careers

Best Certifications for 2027: Tech, Data, Cloud and Business

The best certifications for 2027 in cloud, security, data, project management and AI, who each one suits, and when a portfolio matters more.

Oct 30, 20263 min read
Skill Building & Careers

Best Programming Language to Learn in 2027 (for Your Goal)

The best programming language to learn in 2027 depends on what you want to build. Compare Python, JavaScript, TypeScript, SQL and C.

Oct 30, 20263 min read