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 Advanced Mixin Arguments

Sass Basic Code Challenge - can't passed to next question even i do have the correct answer.

Challenge Task: Switch the order of the arguments. Be sure to specify the variable for each argument, or you'll wind up with a height and width of red and a 1px solid 10px border! (Needless to say, that would be invalid.)

Kept Getting This: Bummer! Try to reverse the order of the arguments when you include the mixin. You'll need to specify the variable for each argument.

Code: /* Write your SCSS code below. */ @mixin square($size, $color:black){ width: $size; height: $size; border: 1px solid $color; }

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

<!DOCTYPE html>
  <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">
  <div class="box"></div>
  <div class="red"></div>
  <div class="orange"></div>
  <div class="yellow"></div>
  <div class="green"></div>
/* Write your SCSS code below. */
@mixin square($size, $color:black){
  width: $size;
  height: $size;
  border: 1px solid $color;

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

1 Answer

Jennifer Nordell
Jennifer Nordell
Treehouse Teacher

Hi there! Because you're reversing the order of the arguments from the parameters of the mixin, you're going to need to say which attribute goes to which variable. Otherwise, it will believe "red" goes in the size and 10px goes in the color. To do this you must explicitly specify which attribute belongs to which variable. Take a look:

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

Here we include the square mixin, but we're sending in our arguments a little out of order. We can say specifically which argument should match with which variable by doing it this way.

Hope this helps! :sparkles:

Thank you! Really appreciate your help!