Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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?

index.html
<!DOCTYPE html>
<html>
<head>
    <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">
</head>
<body>
    <ul>
        <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>
    </ul>
</body>
</html>
style.css
/* 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,110 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,417 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