Skip to main content

Command Palette

Search for a command to run...

CSS Selectors 101: Targeting Elements with Precision

Updated
3 min read

Why CSS Selectors Are Needed

HTML creates elements, but CSS needs a way to choose which elements to style.

CSS selectors are the “targeting system” of CSS.

Without selectors:

  • CSS wouldn’t know where to apply styles

  • Every rule would apply to everything (chaos 😄)

Real-World Analogy (Addressing People)

Think of sending messages:

SelectorReal-world meaning
Element“Hey everyone wearing a T-shirt”
Class“Hey everyone in Team Blue”
ID“Hey Rahul (only one person)”

CSS works the same way — selectors help you pick exactly who should receive the styles.

Element Selector

The simplest selector — targets all elements of a given type.

Syntax

p {
  color: blue;
}

What it targets

All <p> elements on the page

Before / After Example

HTML

<p>Hello World</p>
<p>CSS is fun</p>

Result

  • Both paragraphs turn blue

Use element selectors when:

  • You want a global style

  • Example: all p, h1, button

Class Selector

A class selector targets elements with a specific class name.

Syntax

.highlight {
  background-color: yellow;
}

HTML

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

What it targets

Only elements with class="highlight"

Key points:

  • Classes are reusable

  • Multiple elements can share the same class

Think of it as style, everyone who belongs to this group

ID Selector

An ID selector targets one unique element.

Syntax

#main-title {
  font-size: 32px;
}

HTML

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

What it targets

Only the element with id="main-title"

Rules of ID:

  • Must be unique

  • Use for important, single elements

  • Example: headers, layouts, root containers

Group Selectors

Group selectors let you apply the same style to multiple selectors.

Syntax

h1, h2, p {
  font-family: Arial;
}

What it means

Apply the same style to all h1, h2, and p elements

Why useful?

  • Avoid repetition

  • Cleaner, shorter CSS

Descendant Selectors

Descendant selectors target elements inside other elements.

Syntax

div p {
  color: green;
}

HTML

<div>
  <p>This will be green</p>
</div>

<p>This will NOT be green</p>

What it means

“Style <p> only if it is inside a <div>

This is how CSS understands structure and hierarchy.

Basic Selector Priority (Very High Level)

When multiple selectors target the same element, CSS follows priority (specificity).

Simple order (for beginners)

Element < Class < ID

Example

p {
  color: red;
}

.text {
  color: blue;
}

#unique {
  color: green;
}
<p id="unique" class="text">Hello</p>

Final color: green (ID wins)

Don’t memorize formulas yet — just remember, More specific selector = higher priority.

Conclusion

CSS selectors are the foundation of all styling in CSS. They define what gets styled before you even think about how it looks. From simple element selectors to more targeted class and ID selectors, every CSS rule begins with choosing the right elements.

By understanding selectors as ways to address elements—just like calling out people by role, group, or name—you build a strong mental model of how CSS works behind the scenes. Starting with element selectors, moving to classes, and then IDs helps you write clean, predictable, and maintainable CSS.

Once selectors are clear, advanced topics like layouts, animations, and responsive design become much easier. Master selectors first, and the rest of CSS will feel far less overwhelming.