Skip to main content

Command Palette

Search for a command to run...

CSS Selectors 101 :

Published
•5 min read•View as Markdown

Understanding CSS Selectors — A Beginner-Friendly Guide to Targeting Elements Correctly

When you first start learning CSS, it feels easy — change a color here, adjust a font there, add some spacing — done.

But very quickly, one important question appears:

How does CSS know which element to style?

That’s where CSS selectors come in.

Selectors are the targeting system of CSS. They tell the browser exactly which HTML elements should receive a style rule. Once you understand selectors, CSS stops feeling random and starts feeling precise and logical.

Let’s break this down step by step.


What This Blog Covers

In this guide, you’ll learn:

  • What CSS is and why we use it

  • What CSS selectors are

  • Why selectors are necessary

  • Element selector

  • Class selector

  • ID selector

  • Group selector

  • Descendant selector

  • Basic selector priority (specificity basics)

We’ll keep everything simple and practical.


What Is CSS?

CSS (Cascading Style Sheets) controls how a webpage looks.

If HTML is the structure of the page, CSS is the design layer.


Simple Analogy

Think of a house:

  • HTML = structure and walls

  • CSS = paint, decoration, layout

  • JavaScript = electricity and automation


Example

HTML:

<h1>Hello</h1>
<p>Welcome to my site</p>

CSS:

h1 {
  color: blue;
}

CSS lets you control:

  • colors

  • fonts

  • spacing

  • layout

  • responsiveness

But the browser still needs one thing:

Which element should get the style?

That’s the selector’s job.


CSS Is Controlled Styling — Not Random Styling

CSS is not just “make things pretty.”

It is controlled styling.

Imagine a page with:

  • 1 heading

  • 5 paragraphs

  • 3 buttons

  • many containers

You may want to say:

  • Style all paragraphs

  • Style only this button

  • Style text inside a specific section

Selectors make that control possible.

Without selectors → styles would apply everywhere → chaos.

Selectors make CSS precise.


How the Browser Uses a Selector

When the browser reads:

p {
  color: blue;
}

It effectively does this:

  • scan the HTML

  • find all <p> elements

  • apply blue color to them

Selectors are like filters that choose matching elements.


What Is a CSS Selector?

A CSS selector tells the browser:

Apply these styles to THESE elements.

Think of selectors like addressing people in a room:

  • “Everyone” → element selector

  • “People wearing red shirts” → class selector

  • “Only John” → ID selector

Selectors = targeting rules.


Why Selectors Are Necessary

Consider this HTML:

<h1>Welcome</h1>
<p>Hello</p>
<p>World</p>

If CSS only said:

color: red;

The browser would not know where to apply it.

Selectors remove ambiguity.

They allow you to:

  • style specific elements

  • avoid side effects

  • keep styles organized

  • build predictable designs

Selectors are the targeting engine of CSS.


Element Selector

The most basic selector.

Targets all elements of a given tag.


Example

p {
  color: blue;
}

All paragraphs become blue.


Properties

  • applies to every matching tag

  • lowest priority

  • useful for base styling


Class Selector

Used to style specific groups of elements.


HTML

<p class="highlight">Important</p>
<p>Normal</p>

CSS

.highlight {
  color: red;
}

Only the highlighted paragraph turns red.


Properties

  • starts with .

  • reusable

  • more specific than element selector


ID Selector

Used for one unique element.


HTML

<h1 id="main-title">Welcome</h1>

CSS

#main-title {
  color: green;
}

Properties

  • starts with #

  • should be unique per page

  • higher priority than class


Group Selector

Lets you style multiple selectors at once.


Example

h1, p {
  color: purple;
}

Both headings and paragraphs become purple.


Benefits

  • reduces repetition

  • cleaner CSS

  • easier maintenance


Descendant Selector

Targets elements inside other elements.


HTML

<div>
  <p>Inside</p>
</div>

<p>Outside</p>

CSS

div p {
  color: orange;
}

Only the paragraph inside the div becomes orange.


Meaning

Read it as:

all p elements inside div

Very powerful. Very common.


Basic Selector Priority (Specificity Basics)

Sometimes multiple selectors match the same element.

CSS resolves conflicts using specificity.

Basic rule:

ID > Class > Element

Example

p { color: blue; }
.highlight { color: red; }
#special { color: green; }

HTML:

<p id="special" class="highlight">Text</p>

Result → green

ID wins.

You don’t need advanced specificity math yet — just remember the order.


Why Selectors Are the Foundation of CSS

Before learning:

  • Flexbox

  • Grid

  • Animations

  • Responsive design

You must understand selectors.

Because every CSS rule begins with:

selector {
  property: value;
}

Wrong selector → style never applies.


Final Analogy

Selector = address on a letter
Style rule = message

Wrong address → message never arrives.


Conclusion

CSS selectors are the foundation of styling.

They let you move from:

“Style everything”

to

“Style exactly this.”

Selectors teach you:

  • structural thinking

  • precise targeting

  • cascade behavior

  • browser matching logic

Once selectors click, CSS starts feeling logical and predictable.

Master selectors — and you control the design.