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

Neslee Rodillo
Neslee Rodillo
19,615 Points

These instructions are confusing me, tried to follow the video but not able to understand.

Challenge: Underneath the previous code, store the value "morning" in a variable named $time. Then write an if/else directive that will color all <a> tags. If the variable $time is equal to "morning", the color should be red. Otherwise, if the variable is "afternoon", the color should be blue. Finally, if the variable is set to anything else, the color should be gray.

My answer:

@mixin cars ($make, $color){

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

  }

    $time:morning;

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

  }
}

Error: Bummer! The @if statement needs to evaluate the value of the $time variable.

4 Answers

Try it like this:

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