
Sometimes you need to target more than just the last child in a series of HTML elements. Learn how to target the last n number of elements here.
In CSS, :nth-child refers to the child referenced from the beginning of the parent. Take an example:
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
<li>four</li>
</ul>If you were to select :nth-child(2), then the second <li> is selected. So this:
ul:nth-child(2) {
color: red;
}Would make two red.
Moving in the other direction is :nth-last-child, which moves backwards. So, this:
ul:nth-last-child(2) {
color: red;
}Would make three red.
Now, let's say we wanted to make the last two elements red. We can use -n and move backwards from the end. So:
ul:nth-last-child(-n + 2) {
color: red;
}Affects both three and four.
The iterator follows the pattern of an+b. If you want to learn more about how this iteration logic works, Chris Coyier has a great explanation.