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) Variables, Mixins, and Extending Selectors The Power of Mixins

I need some help to figure this problem out.

Write a new definition for the "button" mixin, which takes two arguments: $color and $size. The background should be set using the value in the $color variable, and the width should be set using the $size variable. The height should be half of the value in the $size variable.

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>
  <h1>Hampton's Blog</h1>
  <a class="menu_button" href="#">
    Menu
  </a>
  <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="#">Read More</a>
        </p>
    </div>
  </div>
</body>
</html>
style.scss
/* Write your SCSS code below. */
@mixin button ($color 8px, $size 8px) {
background: 8px;
width: 8px;
height: 4px;
}

2 Answers

Hello...this is the complete answer for the challenge

/* Write your SCSS code below. */
@mixin button($color,$size) {
background: $color;
width: $size;
height: $size/2;
}

.menu_button{
@include button(#369, 50px)
}

Please mark my answer as the best if i managed to help u

To Lakindu Jayathilaka thanks brother being that i am a visual person to see how you went about that really helped.

Austin Whipple
Austin Whipple
29,700 Points

When using Sass mixins, the style is executed in two steps. The first is the mixin itself where you define the name, what styles you're going to set, the variables the mixin takes, and then where those variables fall in the style definition. The second is calling the mixin on the element you'd like to style while passing the mixin its needed variables.

To satisfy this question you just need to create the mixin and its variables and tell Sass where those variables will be used in the style definition. The format is:

@mixin mixin-name ($var1, $var2) {
   style-one: $var1;
   style-two: $var2;
}

When you're ready to use this mixin:

.my-div {
   @include mixin-name(style-one-val, style-two-val);
}

Check out the Sass Guide for more information.