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) 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,725 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.