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) Advanced Sass Concepts Interpolating and if/else

Okay, what am I missing here? (This code challenge does NOT relate to "objective C" or iOS!) This is for Sass.

I seen to be stuck on this code challenge question. I either get an error message that the .png is missing when it isn't, or else I get an error message that says I didn't define the $time: "morning" variable when I did. I'm sure it's some stupid syntactical thing I'm missing, but I just don't see what it is. HELP!

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>
  <div class="wrap">
    <h1>Hampton's Blog</h1>
    <ul id="menu">
      <li><a href="#">Home</a></li>
      <li><a href="#">About Hampton</a></li>
      <li><a href="#">Hampton's Work</a></li>
    </ul>
    <div class="entry">
      <h1>Delicious Food in SF</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 Mr. Chow's, Live Sushi and Piccino. 
          <a href="/info.html">Read More</a>
        </p>
      </div>
    </div>
    <div class="entry">
      <h1>Great Music</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. 
            <a href="/info.html">Read More</a>
          </p>
        </div>
    </div>
  </div>
</body>
</html>
style.scss
/* Write your SCSS code below. */
@mixin cars($make, $color) {
  .#{$make} {
  border: 1px solid black;
  background-image: url("images/#{$color}.png");
  }
}
$time: "morning";
a {
  @if($time == "morning") {
  color: red;
  } @if else($time == "afternoon") {
  color: blue;
  } @else {
  color: gray;
  }
}

1 Answer

It looks like you have syntax errors in your conditional statements.

This is what the correct sass should look like:

$time: "morning";
a {
  @if $time == "morning" {
    color: red;
  } @else if $time == "afternoon" {
    color: blue;
  } @else {
    color: gray;
  }
}

Take a look at the sass docs for @if/@else to see some other correct examples and more details :D

Thanks, Erik! I do see that I had the "else if" backward in the middle of the statement. I also discovered, after a bit more frustration and flailing, that I needed to remove the quotation marks from around "morning" and "afternoon," (and the parens, though I had been trying that both ways) and then it worked! It always seems to be the small stuff, doesn't it?