DEV Community

Cover image for What is the structure of a scss mixin and how to create it?
Musa Yazlık
Musa Yazlık

Posted on

What is the structure of a scss mixin and how to create it?

We frontend developers do most html css coding while coding in general. When coding, instead of writing repeated structures over and over again, we prepare them as a component structure and include them in the coding, that is, we do the inclusion process. We usually use sass or scss tools when coding css. Within these tools, there is a mixin structure, a structure where we can create repeated structures.

What is scss mixin?

When css coding, we repeat a lot of coding, for example, we use the following codes to combine objects in a box in the middle.

.box {
  display: flex;
  justify-content: center;
  align-items: center;
}
Enter fullscreen mode Exit fullscreen mode

Creating a mixin called BoxCenter and including it when we need to create these codes will make our job a little easier than rewriting these codes many times. In addition, it will minimize the time we lose in writing the same codes.

Mixin Structure and Creation

Creating and using mixin in scss is actually very simple. If a function is created in a programming language, a mixin structure can be created in a similar structure in scss.

@mixin isim(parameter or parameters){
   // Css Code
}
Enter fullscreen mode Exit fullscreen mode

You can create a mix with or without parameters. This is completely up to you. I will be explaining both uses.

Creating and using a mix without parameters

We create a mixin called BoxCenter. Then we include the mixin we created " @inculude BoxCenter() " in the .box. That's how simple it is.


@mixin BoxCenter() {
  display: flex;
  justify-content: center;
  align-items: center;
}

.box {
  width: 100px;
  height: 100px;
  color: red;
  @include BoxCenter();
}

Enter fullscreen mode Exit fullscreen mode

Output

Let's look at the css output. While reading this article, I assume that you know how to compile scss and get css output.


.box {
  width: 100px;
  height: 100px;
  color: red;
  display: flex;
  justify-content: center;
  align-items: center;
}

Enter fullscreen mode Exit fullscreen mode

Creating and using a parameterized mixin

In general, it is more preferred to create mixins with parameters.


@mixin BoxCenter($d, $jc, $ai) {
  display: $d;
  justify-content: $jc;
  align-items: $ai;
}

.box {
  width: 100px;
  height: 100px;
  color: red;
  @include BoxCenter(flex, start, end);
}

Enter fullscreen mode Exit fullscreen mode

Output

The output of the above code will be as follows.


.box {
  width: 100px;
  height: 100px;
  color: red;
  display: flex;
  justify-content: start;
  align-items: end;
}

Enter fullscreen mode Exit fullscreen mode

Yes, in this blog post you have learned how to create and use mixins with or without parameters in scss. I agree that you will definitely create your own mixins while using scss. 😁 Goodbye to see you in my next blog post.

https://en.musayazlik.com/what-is-scss-mixin-how-to-create-it/

Top comments (1)

Collapse
 
fruntend profile image
fruntend

Сongratulations 🥳! Your article hit the top posts for the week - dev.to/fruntend/top-10-posts-for-f...
Keep it up 👍