Basic Selectors

Loading concept...

🎯 CSS Selectors: Your Magic Wand to Style Anything!

Imagine you’re in a huge room full of toys. You want to paint some toys red, some blue, and give special stickers to only a few. But how do you pick which toys to style?

CSS Selectors are like magic wands that help you point at exactly what you want to style on a webpage!


🌟 The Big Picture

Think of a webpage like a big classroom:

  • The Universal Selector says “Everyone in the room!”
  • The Type Selector says “All the chairs!” or “All the tables!”
  • The Class Selector says “Everyone wearing a red shirt!”
  • The ID Selector says “Only Sarah, she’s unique!”
  • The Attribute Selector says “Anyone carrying a backpack!”

Let’s learn each one!


⭐ Universal Selector: “Everyone Gets This!”

The universal selector uses an asterisk *. It’s like shouting in the classroom: “EVERYONE LISTEN!”

Every single element on the page gets styled.

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

When to use it?

  • Reset styles: Start with a clean slate
  • Apply something to ALL elements

Real-life example:

Like a teacher saying “Everyone put your pencils down!” — no exceptions!


📦 Type Selector: “All Items of This Kind”

The type selector targets HTML elements by their tag name. Want to style ALL paragraphs? All buttons? All headings?

p {
  color: navy;
  line-height: 1.6;
}

button {
  background: coral;
  border: none;
}

h1 {
  font-size: 2rem;
}

How it works:

Selector What it targets
p All <p> elements
div All <div> elements
a All <a> links
img All images

Real-life example:

Like saying “All apples in the basket get washed” — every apple, no matter where!


🏷️ Class Selector: “Everyone in This Group!”

The class selector uses a dot . followed by the class name. Classes are like team jerseys — many players can wear the same jersey!

HTML:

<p class="highlight">Important text</p>
<p>Normal text</p>
<span class="highlight">Also important</span>

CSS:

.highlight {
  background: yellow;
  padding: 4px 8px;
  border-radius: 4px;
}

Key Points:

  • Starts with a dot .
  • Multiple elements can share the same class
  • One element can have multiple classes
<div class="card featured large">
  Special card!
</div>
.card { border: 1px solid gray; }
.featured { border-color: gold; }
.large { font-size: 1.5rem; }

Real-life example:

Like “All students wearing blue shirts, stand up!” — many students can wear blue!


🎖️ ID Selector: “Only This One Special Thing!”

The ID selector uses a hash # followed by the ID name. IDs are like fingerprints — each one is unique!

HTML:

<header id="main-header">
  Welcome to My Site
</header>

CSS:

#main-header {
  background: linear-gradient(to right, blue, purple);
  color: white;
  padding: 20px;
}

The Golden Rule:

Each ID can only be used ONCE per page!

✅ Correct ❌ Wrong
One #logo per page Two elements with #logo

Real-life example:

Like calling someone by their unique name: “Hey Sarah!” — only ONE Sarah responds!


🔍 Attribute Selectors: “Things With Special Features!”

Attribute selectors target elements based on their attributes — like finding toys that have specific labels!

Basic Attribute Selector

Target elements that have an attribute:

[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

Selects anything with a disabled attribute

Attribute with Value

Target elements where attribute equals a value:

[type="submit"] {
  background: green;
  color: white;
}

[href="https://google.com"] {
  color: blue;
}

Attribute Contains (~=)

Value is one of space-separated words:

[class~="btn"] {
  padding: 10px 20px;
}

Matches class="btn primary"

Attribute Starts With (^=)

Value begins with something:

[href^="https"] {
  color: green;
}

Matches all secure links!

Attribute Ends With ($=)

Value ends with something:

[href$=".pdf"] {
  color: red;
}

Matches all PDF links!

Attribute Contains (*=)

Value contains the text anywhere:

[src*="avatar"] {
  border-radius: 50%;
}

Matches any src with “avatar” in it


🎨 Quick Comparison Chart

graph TD A[CSS Selectors] --> B["* Universal"] A --> C["tag Type"] A --> D[".class Class"] A --> E["#id ID"] A --> F["[attr] Attribute"] B --> B1["Selects ALL"] C --> C1["All of one tag"] D --> D1["Group of elements"] E --> E1["ONE unique element"] F --> F1["By HTML attribute"]

🧪 Specificity: Who Wins?

When multiple selectors target the same element, CSS picks the most specific one!

Power ranking (lowest to highest):

  1. * Universal — weakest
  2. p Type — low
  3. .class Class — medium
  4. #id ID — high
p { color: black; }           /* 1 point */
.text { color: blue; }        /* 10 points */
#intro { color: red; }        /* 100 points */

If an element has all three, red wins!


💡 Pro Tips

Mix and Match!

/* Type + Class */
p.intro {
  font-size: 1.2rem;
}

/* Type + Attribute */
input[type="email"] {
  border: 2px solid blue;
}

/* Class + Attribute */
.btn[disabled] {
  background: gray;
}

Multiple Classes

/* Must have BOTH classes */
.card.featured {
  border: 3px solid gold;
}

🎯 Summary

Selector Symbol Use Case Specificity
Universal * Reset all 0
Type tag Style all tags 1
Class .name Group styling 10
ID #name Unique element 100
Attribute [attr] By attribute 10

🚀 You Did It!

You now have 5 powerful magic wands to select anything on a webpage:

  1. * — Select EVERYTHING
  2. tag — Select by type
  3. .class — Select groups
  4. #id — Select ONE unique thing
  5. [attribute] — Select by features

Start simple, mix them together, and you’ll be a CSS wizard in no time!

💪 Remember: Class selectors are your everyday tool. IDs are for special, unique elements. The universal selector is your reset button. Attribute selectors are your secret weapon!

Loading story...

No Story Available

This concept doesn't have a story yet.

Story Preview

Story - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.

Interactive Preview

Interactive - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.

No Interactive Content

This concept doesn't have interactive content yet.

Cheatsheet Preview

Cheatsheet - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.

No Cheatsheet Available

This concept doesn't have a cheatsheet yet.

Quiz Preview

Quiz - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.

No Quiz Available

This concept doesn't have a quiz yet.