Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community!

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

CSS CSS Foundations Advanced Selectors Pseudo-Classes: :nth-child

nth-child selector

I am doing the code challenge. It asked me to create a new rule that targets the first 4 list items only. Set the font weight to bold.

It didn't go through....did my code wrong?

<!DOCTYPE html>
    <title>Structural Pseudo-classes</title>
    <link rel="stylesheet" type="text/css" href="cc1-main-style.css">
    <link rel="stylesheet" type="text/css" href="style.css">
        <li>List item 1</li>
        <li>List item 2</li>
        <li>List item 3</li>
        <li>List item 4</li>
        <li>List item 5</li>
        <li>List item 6</li>
        <li>List item 7</li>
/* Write your CSS below */
li:nth-child(even) {
  color: white;
  background-color: black;

li:nth-child(3n) {
  background-color: #ff6347;

li:nth-child(4n) {
  font-weight: bold;

2 Answers

Kevin Korte
Kevin Korte
28,148 Points

li:nth-child(4n) only selects every 4th list item. It's really hard to wrap your head around, so I strongly encourage you to learn more about this.

Instead of explaining it, read this css-tricks article

The answer you want is li:nth-child(-n+4)

Thank you,

Jeff Jacobson-Swartfager
Jeff Jacobson-Swartfager
15,419 Points

Your value 4n targets every fourth li element. Instead you are want to target all 4 of the first 4 elements.

You can do this by using -n + 4.

Learn more about the :nth-child pseudo selector on MDN's page.

Thank you