Skip to main content

Command Palette

Search for a command to run...

CSS Selectors 101: Targeting Elements with Precision

Published
4 min read
A

learning to survive

Imagine you’re in a room full of people and you want to give instructions:

  • “Everyone wearing a blue shirt, raise your hand.”

  • “John, please come here.”

  • “All students in this row, listen carefully.”

You don’t talk to everyone the same way — you choose who you’re talking to.

CSS selectors work the same way.
They help you choose which HTML elements you want to style.

Without selectors, CSS wouldn’t know:

  • Which text should be red

  • Which button should be bigger

  • Which section needs a background color

So, selectors are how CSS “points” to HTML elements.
They are the foundation of all CSS styling.

Think of CSS Selectors as “Addressing Elements”

  • HTML = the people in the room

  • CSS = the instructions (style rules)

  • Selectors = who you’re talking to

Once CSS knows who you’re targeting, you can decide how they should look.

1. Element Selector (Most Basic)

What it is:

Targets all elements of a specific type.

Example:

p {
  color: blue;
}

What this means:

  • Selects every <p> tag

  • Turns all paragraph text blue

HTML:

<p>This is a paragraph.</p>
<p>This is another paragraph.</p>

When to use:

  • When you want to style all elements of one type

  • Good for global styles (body text, headings, links)

Real-world analogy:

“Everyone wearing the same uniform, please stand up.”

2. Class Selector (More Control)

What it is:

Targets elements that have a specific class name.

Syntax:

.className {
  property: value;
}

Example:

.highlight {
  background-color: yellow;
}

HTML:

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

What happens:

  • Only elements with class="highlight" get styled

  • You can reuse the same class many times

Why classes are powerful:

  • Reusable

  • Flexible

  • Can be applied to any element

Real-world analogy:

“Everyone wearing a VIP badge, please come forward.”

3. ID Selector (Very Specific)

What it is:

Targets one unique element using its ID.

Syntax:

#idName {
  property: value;
}

Example:

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

HTML:

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

Important rules about IDs:

  • IDs should be unique

  • Used only once per page

  • Very specific and strong

When to use:

  • For unique sections like:

    • Header

    • Footer

    • Main content

Real-world analogy:

“John Smith, please step forward.”
(Only one person responds.)

4. Group Selectors (Save Time)

What it is:

Allows you to style multiple selectors at once.

Syntax:

h1, h2, p {
  color: green;
}

What this means:

  • Styles all <h1>, <h2>, and <p> elements

  • Avoids repeating the same CSS

Before (repetitive):

h1 { color: green; }
h2 { color: green; }
p { color: green; }

After (cleaner):

h1, h2, p {
  color: green;
}

Real-world analogy:

“Everyone in class A, B, and C — listen up.”

5. Descendant Selectors (Targeting Inside Elements)

What it is:

Targets elements inside other elements.

Syntax:

parent child {
  property: value;
}

Example:

div p {
  color: red;
}

HTML:

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

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

What happens:

  • Only <p> tags inside a <div> are styled

Why this is useful:

  • Helps style elements based on structure

  • Very common in layouts

Real-world analogy:

“All students sitting in the front row, raise your hand.”

6. Basic Selector Priority (Very High Level)

Sometimes multiple selectors target the same element.
CSS must decide which rule wins.

Simple rule to remember:

ID > Class > Element

Example:

p {
  color: blue;
}

.highlight {
  color: green;
}

#special {
  color: red;
}
<p id="special" class="highlight">Hello</p>

Final color?

Red (ID selector wins)

Why?

  • ID is more specific than class

  • Class is more specific than element

Think of it like:

  • Calling someone by name (ID) beats

  • Calling their group (class) beats

  • Calling everyone (element)

1. Selector Targeting Flow

HTML Element
   ↓
Element Selector
   ↓
Class Selector
   ↓
ID Selector (Most Specific)

2. Class vs ID Usage

FeatureClassID
Reusable✅ Yes❌ No
Unique❌ No✅ Yes
SpecificityMediumHigh
Common UseStyling groupsUnique sections

summary

  • Selectors are how CSS chooses elements

  • They are the foundation of CSS

  • Start simple:

    1. Element

    2. Class

    3. ID

  • The better you understand selectors, the easier CSS becomes

Once selectors click, CSS stops feeling magical and starts feeling logical