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! While you're at it, check out some resources Treehouse students have shared here.

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

Stage 8 code challenge nth-child

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

Where's my error?

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;
  }
}

Found error (4n)

1 Answer

Ryan Field
PLUS
Ryan Field
Courses Plus Student 21,242 Points

The :nth-child pseudo selector can be a tricky beast.

When you use only a single numeral inside the brackets, it only applies your styling to that specific element. So,

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

will only apply clear: left to the fourth element. To clear every fourth element, you need to use an expression. The general formula is xn+y, where x is the interval and y is the initial offset. So if you were to use 4n+0, it would be applied to every fourth element (:nth-child in CSS starts with 1 in terms of counting child elements unlike most programming languages which start at zero). Similarly, if you were to use something like 3n+2, it would start with the second element and then apply your styles to every third element thereafter.