In the previous article we got to know in depth understanding of Sass/SCSS and how to use it.
If you are still new to Sass/SCSS then I recommend to check out my in depth article Sass or SCSS In-Depth Tutorial
In this article, I will be covering the difference between @mixin, @extends, and Placeholder.
When you use the @mixin in the code it will replicate the code in all the using blocks
Example -
@mixin wrapper{
margin:0px auto;
padding: 0px;
}
.w1{
@include wrapper;
}
.w2{
@include wrapper;
}
will be compiled to the following
.w1 {
margin: 0px auto;
padding: 0px;
}
.w2 {
margin: 0px auto;
padding: 0px;
}
The styles in the .w1 and .w2 styles is redundant
wrapper{
margin:0px auto;
padding: 0px;
}
.w1{
@extend wrapper;
}
.w2{
@extend wrapper;
}
will be compiled to the following
wrapper, .w1, .w2 {
margin: 0px auto;
padding: 0px;
}
Here the styles are not redundant, @extend is intelligent enough and adds wrapper,.w1,.w2
But there is one problem with this, if I don't use wrapper in my project then we are simply adding the redundant code in our style.
Example -
%wrapper{
margin:0px auto;
padding: 0px;
}
.w1{
@extend %wrapper;
}
.w2{
@extend %wrapper;
}
will be compiled to the following
.w1, .w2 {
margin: 0px auto;
padding: 0px;
}
Generate Sitemap in PHP Laravel
Simple Way To Create Resourceful API Controller In Laravel
Install Apache Web Server On Ubuntu 20.04 / Linux & Manage It
Unable to prepare route [{fallbackPlaceholder}] for serialization. Uses Closure In Laravel
Create / Save / Download PDF From Blade Template In PHP Laravel
Redirect www to a non-www Website Or Vice Versa
Why You Should Run Cronjobs In Laravel?
@stack @push and @prepend In Laravel Blade
SummerNote WYSIWYG Text Editor
Website Speed and Performance Optimizations
Create Custom 404 Page In Laravel
Detect AdBlocker With Javascript And Increase Website Ads Revenue
Automate Repeating Tasks In Linux Server With Cronjobs