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

Hannah Schick
Hannah Schick
11,524 Points

Below is the code I'm putting in, but the error messages keeps telling me to change the color to red.

I'm not sure what else to change to red? What am I doing wrong?

@mixin cars ($make, $color) { .#{$make} { border: 1px solid black; background-image:url("#{$color}.png"); }

$time: morning;

a { @if $time == morning { color: red; }

@else if $time == afternoon {
    color: blue;
}

@else {
    color: gray;
}

}

}

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("#{$color}.png");
    }

$time: morning; 

a {
    @if $time == morning  {
       color: red;
    }

    @else if $time == afternoon {
        color: blue;
    }

    @else {
        color: gray;
    }

}

}

1 Answer

Samuel Key
Samuel Key
3,310 Points

I think it was just a bit of a formatting error. It looks like you may have wrapped the entire thing inside of the mixin instead of closing the mixin and then creating the new variable and if/else directive.

@mixin cars ($make, $color) {
   .#{$make} { 
   border: 1px solid black; 
   background-image:url("#{$color}.png");
   }
}

$time: morning;

a { @if $time == morning { 
  color: red; 
  } @else if $time == afternoon {
    color: blue;
} @else {
    color: gray;
  }
}
Hannah Schick
Hannah Schick
11,524 Points

Thanks for the feedback Samuel! That makes sense. Thank you for your help.