Start.dev
Back to blog

Tailwind CSS vs CSS: should beginners learn Tailwind first?

Should beginners learn Tailwind or plain CSS first? See the same card built both ways, what Tailwind assumes you know, and a learning order that works.

Ariel Weinberger
Ariel Weinberger ยท 5 min read

If you're new to web development, you've probably seen the argument: should you learn Tailwind CSS, or plain CSS first?

Short answer: learn CSS first, then add Tailwind. Tailwind is a faster way to write CSS, not a replacement for understanding it. Every Tailwind class sets a CSS property under the hood. If you don't know what the box model or flexbox does, flex p-4 gap-2 is just a spell you copy and hope works.

That doesn't mean you need months of CSS before you touch Tailwind. It means you should be comfortable with a few core ideas first, and then Tailwind will feel like a shortcut instead of a mystery.

We teach both on Start.dev, so we have a stake in this. We'll tell you where Tailwind is the better choice too.

The same card, built both ways

The fastest way to see the difference is to build the same small card twice. Here is the markup and CSS for a simple card, written the traditional way.

<div class="card">
  <h2 class="card-title">Learn Tailwind</h2>
  <p class="card-text">Build interfaces faster with utility classes.</p>
  <a class="card-button" href="#">Start learning</a>
</div>
.card {
  max-width: 20rem;
  padding: 1.5rem;
  border-radius: 0.75rem;
  background: white;
  box-shadow: 0 1px 3px rgb(0 0 0 / 0.1);
}
 
.card-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #0f172a;
}
 
.card-text {
  margin-top: 0.5rem;
  color: #475569;
}
 
.card-button {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  background: #4f46e5;
  color: white;
}
 
.card-button:hover {
  background: #4338ca;
}

And here is the same card using Tailwind utility classes, with no separate stylesheet.

<div class="max-w-xs p-6 rounded-xl bg-white shadow-sm">
  <h2 class="text-xl font-semibold text-slate-900">Learn Tailwind</h2>
  <p class="mt-2 text-slate-600">Build interfaces faster with utility classes.</p>
  <a class="inline-block mt-4 px-4 py-2 rounded-lg bg-indigo-600 text-white hover:bg-indigo-700" href="#">Start learning</a>
</div>

The two cards look nearly identical. A few things stand out:

  • Tailwind has no class names to invent. You don't have to decide between card-title and card__heading.
  • You stay in your HTML file instead of jumping between the markup and a stylesheet.
  • The HTML gets longer. A button with seven classes is normal in Tailwind.
  • The values come from a built-in scale. p-6 is 1.5rem, rounded-xl is 0.75rem, and text-slate-900 is a specific shade. That keeps spacing and color consistent without you having to remember the numbers.

What Tailwind assumes you already know

Here is the catch for beginners. Tailwind's class names are short, which makes them quick to write and easy to misread if you don't know the CSS they stand for.

Before Tailwind makes sense, you should be comfortable with:

  • The box model. p-6, m-4, and border only make sense if you know how padding, margin, and borders affect an element's size. Start with What Is The Box Model (opens in a new tab).
  • Display and flexbox. Most Tailwind layouts are flex, items-center, justify-between, and gap-4. Those map directly to flexbox. See What Is Flexbox (opens in a new tab). Centering is the classic example: flex items-center justify-center is the flexbox method from How to center a div. Reaching for grid instead? Flexbox vs Grid explains when each one fits.
  • Positioning. relative, absolute, and sticky behave exactly like their CSS counterparts. See What Is Positioning (opens in a new tab).
  • How to read a rule. Knowing that CSS is selector, property, and value helps you understand what each utility is doing.

When something looks wrong in a Tailwind layout, the fix almost always comes from knowing the underlying CSS. If you skip the fundamentals, you end up guessing at class names until it looks right, and you don't learn why it works.

Tailwind vs CSS at a glance

Plain CSSTailwind CSS
Learning curveConcepts first, then syntaxNeeds CSS concepts, plus a vocabulary of class names
NamingYou name every classMostly no custom class names
Where styles liveA separate stylesheetIn the HTML as utility classes
ConsistencyUp to you and your teamA built-in design scale helps
ReadabilityClean HTML, longer stylesheetLonger HTML, no stylesheet to search
ReuseReusable classes and variablesReuse through components and templates
Best forLearning, small sites, custom designsFast iteration, component-based apps, teams

Neither column wins everywhere. Plain CSS gives you full control and teaches you how the web works. Tailwind helps you move quickly once you know what you're doing.

When it's fine to learn Tailwind first

Learning CSS first is the safer default, but there are cases where starting with Tailwind is reasonable:

  • You've joined a project or a team that already uses Tailwind and you need to be productive now.
  • You're following a React or Next.js tutorial that uses Tailwind and you just want to get something on the screen.

If that's you, keep a browser open to the CSS reference and look up what each class does as you go. Treat every utility as a chance to learn the CSS behind it.

A learning order that works

  1. HTML. Learn how pages are structured with HTML Basics (opens in a new tab).
  2. CSS fundamentals. Selectors, the box model, color, and flexbox in CSS Basics (opens in a new tab).
  3. Build one small page with plain CSS. A card, a navbar, and a simple layout are enough.
  4. Rebuild it with Tailwind. Do the same page again with Tailwind CSS Basics (opens in a new tab), and notice how each utility maps to a CSS property you already know. The lesson Tailwind Vs CSS (opens in a new tab) compares the two directly.
  5. Add JavaScript. Once your pages look right, make them interactive with JavaScript Basics (opens in a new tab).

Rebuilding the same page in both is the point. It turns Tailwind from a list of class names to memorize into a faster way to write things you already understand.

Frequently asked questions

Is Tailwind better than CSS?

They solve different problems. Tailwind is built on top of CSS, so it can't replace it. It's a different way to write the same styles, which many developers find faster for building interfaces.

Can I learn Tailwind without knowing CSS?

You can copy classes without knowing CSS, but you'll struggle to fix layout problems or build something custom. A basic understanding of CSS makes Tailwind much easier to use well.

How much CSS do I need before Tailwind?

You don't need to master CSS. Being comfortable with selectors, the box model, color and typography, and flexbox covers most of what you'll use in Tailwind day to day.

Do professional developers still write plain CSS?

Yes. Both approaches are widely used, and many projects mix them. Knowing plain CSS makes you more flexible whichever tool a team picks.

Should I learn Tailwind or Bootstrap?

That depends on the project. Bootstrap gives you ready-made components, while Tailwind gives you low-level utilities to build your own look. Learning CSS first helps with either.

Our recommendation

Learn CSS first, and learn it by building. Then pick up Tailwind and rebuild what you made, so every utility connects to something you already understand. Start with CSS Basics (opens in a new tab), then move on to Tailwind CSS Basics (opens in a new tab).

Level up your coding skills

Jump into interactive courses and start building real-world projects.

Start learning

Related posts

Learn the CSS box model with clear diagrams and code: content, padding, border, and margin, plus box-sizing, margin collapse, and DevTools tips.
Ariel Weinberger
Ariel Weinberger ยท 8 min read
Learn how to center a div in CSS with Flexbox, Grid, margin auto, text-align, absolute positioning and Tailwind, and which method to pick for each situation.
Ariel Weinberger
Ariel Weinberger ยท 6 min read
Flexbox or CSS Grid? Learn the one-dimensional vs two-dimensional rule, see both build the same layout, and get a quick way to pick the right one.
Ariel Weinberger
Ariel Weinberger ยท 6 min read