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 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!