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 Sass Basics (retired) Getting Started with Sass Advanced Nesting

Camilla Ponte
Camilla Ponte
375 Points

how to add a nested selector for children tags

I can't figure out what I am doing wrong .. sorry, I am an absolute beginner

index.html
<!DOCTYPE html>
<html>
<head>
  <title>Sass Basics - Code Challenge</title>
  <link rel="stylesheet" type="text/css" href="page-style.css">
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
  <h1>Hampton's Blog</h1>
  <div class="entry">
    <h1><a href="#">Delicious Food in SF</a></h1>
    <div class="content">
      <p>
        You know what my favorite restaurant in San Francisco is? The answer is that there are so many great restaurants that I couldn't choose one. But honorable mentions include <a href="#">Mr. Chow's</a>, <a href="#">Live Sushi</a> and <a href="#">Piccino</a>. 
        <span class="link"><a href="/info.html">Read More</a></span>
      </p>
    </div>
  </div>
  <div class="entry">
    <h1><a href="#">Great Music</a></h1>
    <div class="content">
      <p>
        Here are some of my favorite bands from years past and present: Belle and Sebastian, Pixies, and Daft Punk. Listening to music allows me to focus when I'm programming. 
        <span class="link"><a href="/info.html">Read More</a></span>
      </p>
    </div>
  </div>
  <div class="footer">
    <p>
      Thanks for reading my blog!  Be sure to check out my <a href="#">other articles</a>.
    </p>
  </div>
</body>
</html>
style.scss
/* Write your SCSS code below. */
p {
 > a {
 color: blue
 }
a{
color: red
}
}

1 Answer

andren
andren
28,558 Points

The problem is the order of the rules. With the way your code is written you first say that a elements directly below p should be blue, but then you specify that all elements below p should be red. Since those rules contradict each other and they have the same specificity the rule define last in the file wins out.

If you simply change the order like this:

/* Write your SCSS code below. */
p {
    a{
        color: red;
    }
    > a {
        color: blue;
    }
}

Then the direct descendant rule will be the one who wins which results in the code working as intended.

I also added semicolons to your code, while it's not actually mandatory in this instance since you only specify one property per rule it's still a good habit to get into to always include it.