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

Jaime Rios
PLUS
Jaime Rios
Courses Plus Student 21,100 Points

What is wrong with my code?

I checked the documentation and this is how the variables are defined in there. Could you help me solve the challenge?

Bummer! There's something wrong with your Sass stylesheet. Please review your code and try again. Sass Error: Properties are only allowed within rules, directives, mixin includes, or other properties.

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
@mixin cars($make, $color){
   .#{$make} {
    border: 1px solid black;
    background-image: url("../#{$color}.png");
   } 
}
$time: morning;
@if $time == morning {
    a{
      color: red;
    }
    }
    @else if $time == afternoon{
      color: blue;
    }
    @else {
      color: gray;

}

2 Answers

Hi Jaime,

I have not done this challenge but looking at the second part of your code I think a couple of things need changing:

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

This will now spit out the "a" element with props and values whereas your code currently only spits out the props and values on there own if $time is not == to morning.

Hope this helps :)

Jaime Rios
PLUS
Jaime Rios
Courses Plus Student 21,100 Points

Thanks Craig, it looks like the variables should be declareted within mixins or nested insided other elements. Thanks!