An element selector matches a tag name, a class selector starts with a dot and can be reused, and an ID selector starts with a hash and should be unique on a page. Selectors decide which elements receive a rule.
Read a rule first
A CSS declaration uses property: value;. The semicolon ends one declaration, and braces group declarations for the same selector. The browser reads rules from top to bottom. When several rules match one element, the cascade considers their source, selector specificity, and order.
<h2 id="page-title">Topics</h2>
<p class="tip">Use classes for repeated styles.</p>
<p class="tip">This paragraph matches too.</p>p { color: #334155; }
.tip { background: #ecfeff; padding: 8px; }
#page-title { color: #7c3aed; }Change one value at a time and watch the text, color, size, or position. This connects each declaration to a visible result. Browser developer tools show the result of the same matching process.
A useful checking order
- Confirm that the selector matches the intended HTML element.
- Check the property name, colon, value, and semicolon.
- Test narrow space, longer text, and keyboard use.
Live style lab: Element, class, and ID selectors
Unlock the complete interactive lab, deeper explanations, and curated reference answers.
A common source of confusion
CSS changes presentation and layout; it does not change the meaning of the HTML. Keep meaningful HTML elements and style them, rather than choosing the wrong element only for its default appearance. Readability comes before decoration.
KNOWLEDGE QUIZ
class="tip"?
Practice: build a element, class, and id selectors example
Write a small CSS rule set for the supplied HTML and verify each result in a browser preview.
- Keep the HTML content and semantic structure.
- Use selectors related to this lesson and write at least three declarations.
- Check text contrast and make sure no content is covered or clipped.
HTML structure
<h2 id="page-title">Topics</h2>
<p class="tip">Use classes for repeated styles.</p>
<p class="tip">This paragraph matches too.</p>