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 Add Reusable Logic to Your Sass Advanced Mixins Challenge

Michael Lawinger
Michael Lawinger
33,581 Points

Create a rule that targets the class box. Use the square mixin to set the height and width of .box to 50px and the borde

Create a rule that targets the class box. Use the square mixin to set the height and width of .box to 50px and the border color to red.

style.scss
@mixin square($size, $color) {
  $color: black;
  height: $size;
  width: $size;
  border: 1px solid $color;
}

.box {
  @include square(50px, red);
}

5 Answers

Camille Viva
Camille Viva
18,334 Points

I think it's because the first thing your mixin function does, is change the $color variable to black (line 2 in your code).

So you need to have a css attribute "color" whose value is the variable $color, rather than setting the variable $color to the value black...see line 2 below:

@mixin square($size, $color) {
  color: $color;
  height: $size;
  width: $size;
  border: 1px solid $color;
}

.box {
  @include square(50px, red);
}

I have below response : @mixin square($size, $color:black) {

height: $size; width: $size; border: 1px solid $color; }

.box { @include square($size:50px,$color:red); }

Hayley Risley
Hayley Risley
9,510 Points

I think that is has to do with the spacing between the mixin square and where you start to define the mixin. See below for code. .box { @include square (50px, red){} }

Michael Lawinger
Michael Lawinger
33,581 Points

Sorry, that wasn't it, the error said to keep the default as black. What's the way around changing it in the include for the box for the border property?

Pratik Patil
PLUS
Pratik Patil
Courses Plus Student 6,627 Points

''' @mixin square($size, $color:black) { height: $size; width: $size; border: 1px solid $color; }

.box { @include square( 50px, red ); } '''