Selectors

Descendant

main h1 { background-color: red; }

This matches any h1 element that is a child, grandchild, great grandchild, etc of any main element.

<main> <h1> <!-- Matches, this h1 will have a red background --> Kevin loves croissants! </h1> </main> <main> <article> <h1> <!-- Matches, this h1 will have a red background --> Kevin loves croissants! </h1> </article> </main>

Child

main > h1 { background-color: red; }

This matches any h1 element that is a direct child of any main element.

<main> <h1> <!-- Matches, this h1 will have a red background --> Kevin loves croissants! </h1> </main> <main> <article> <h1> <!-- Does not match, this h1 will not have a red background --> Kevin loves croissants! </h1> </article> </main>

Multiple Selectors

Don't get this confused with the other two. The key here is the comma.

main, h1 { background-color: red; }

This matches any element that is a main or a h1.

<main> <h1> <!-- Matches, this h1 will have a red background --> Kevin loves croissants! </h1> </main> <main> <article> <h1> <!-- Matches, this h1 will have a red background --> Kevin loves croissants! </h1> </article> </main> <h1> <!-- Matches, this h1 will have a red background --> Kevin loves croissants! </h1>