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 How to Make a Website Responsive Web Design and Testing Refactor the Layout

james galligan
james galligan
1,733 Points

Clear the Fourth Item nth child help?

IS there anything wrong with this code its not working? I am currently taking the code challenge and cannot for the life of me figure this out.

css/main.css
a {
  text-decoration: none;
}

#wrapper {
  max-width: 940px;
  margin: 0 auto;
}

#logo {
  text-align: center;
  margin: 0;
}

h1, h2 {
  color: #fff;
}

nav a {
  color: #fff;
}

nav a:hover {
  color: #32673f;
}

h1 {
  font-family: Changa One, sans-serif;
  font-size: 1.75em;
  font-weight: normal;
}

img {
  max-width: 100%;
}

#gallery {
  margin: 0;
  padding: 0;
  list-style: none;
}

#gallery li {
  float: left;
  width: 45%;
  margin: 2.5%;
  background-color: #f5f5f5;
  color: #bdc3c7;
}

nav ul {
  list-style: none;
  margin: 0 10px;
  padding: 0;
}

nav li {
  display: inline-block;
}

nav a {
  font-weight: 800;
  padding: 15px 10px;
}

.profile-photo {
  display: block;
  margin: 0 auto 30px;
      max-width: 150px;
  border-radius: 100%;
}

.contact-info {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.9em;
}

.contact-info a {
  display: block;
  min-height: 20px;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  padding: 0 0 0 30px;
  margin: 0 0 10px;
}

@media screen and (min-width: 480px) {
#gallery li {
    width: 28.3333%;
  }
  #gallery li:nth-child(4) {
    clear: left;
  }
}
james galligan
james galligan
1,733 Points

sorry this bit of code.

@media screen and (min-width: 480px) {

gallery li {

width: 28.3333%;

} #gallery li:nth-child(4) { clear: left; } }

2 Answers

Blaize Pennington
Blaize Pennington
13,860 Points

Its about the wording. The question asks you to "Inside the media query, clear the left side of every 4th list item in the gallery." So the way you wrote it:

#gallery li:nth-child(4) {
    clear: left;
}

This will select only the 4th item in the list, but wil not select the 8th, 12th, 16th etc which is what the question is asking you to do. So to do this you add an n to the nth child.

#gallery li:nth-child(4n) {
   clear: left;
}

The n means essentially to multiply by every number. So:

  • 4x0 = 0
  • 4x1 = 4
  • 4x2 =8
  • 4x3 = 12

So the css is saying select all of these forever.

You can also alter this by adding or subtracting at the end.

4n + 1 would select

  • (4 x 0) + 1 = 1
  • (4 x 1) + 1 = 5
  • (4 x 2) + 1 = 9

Edit: Formatting

james galligan
james galligan
1,733 Points

Thank you for your help !

Stephen Lee
Stephen Lee
19,513 Points

Brilliant. Thank you.

Add this instead,

#gallery li:nth-child(4n) {
    clear: left;
  }