Projelerinizde verimliliği artırmak, hataları bulmak ve daha hızlı geliştirmek için kullanabileceğiniz araçlarla dolu bir dünya!
Sass ve Scss de mixin kullanımı, tekrarlı olarak yazılan kodların bir veya daha fazla blok içerisinde toplayarak ihtiyaç halinde çağırılma işlemine diyebiliriz.
Kullanımı
@mixin blokAdi
bloksatirlari
Mixin oluşturuken @mixin balokAdi olarak tanımlama yapıyoruz. blok altına yapacağımız tanımlamaları daha sonra istediğimiz yerde @include blokAdi şeklinde çağırabilmekteyiz.
@mixin kutu
border: 1px solid #ddd
border-radius: 5px
padding: 5px
.stil
font-size: 3rem
color: red
@include kutu
.davar
@include kutu
Css Çıktısı :
.stil {
font-size: 3rem;
color: red;
border: 1px solid #ddd;
border-radius: 5px;
padding: 5px;
}
.davar {
border: 1px solid #ddd;
border-radius: 5px;
padding: 5px;
}
Oluşturduğumuz Mixinlere parametrede gönderbilmekteyiz. Örnek olarak mixini çağıracağımız stil içerisinde border kalınlığını farklı yapmak isteyebiliriz veya yazı boyutunu büyütmek / küçültmek isteyebiliriz.
@mixin kutu($border)
border: $border solid #ddd
border-radius: 5px
padding: 5px
.stil
font-size: 3rem
color: red
@include kutu(5px)
.davar
@include kutu(2px)
Yukarıdaki örnekte gönderdiğimiz parametre border ın kalınlığını değiştirmektedir.
Css Ekran Çıktısı :
.stil {
font-size: 3rem;
color: red;
border: 5px solid #ddd;
border-radius: 5px;
padding: 5px;
}
.davar {
border: 2px solid #ddd;
border-radius: 5px;
padding: 5px;
}
Eğer parametre gönderimi sağlamaz isek sass dosyamız hataya düşecektir. Bunun için parametre tanımlamalarımıza varsayınlan tanımlama yapabilmekteyiz. Biz boş parametre göndersek bile varsayınlan olan değer dönecektir.
@mixin kutu($border : 1px, $padd : 5px)
border: $border solid #ddd
border-radius: 5px
padding: $padd
.stil
font-size: 3rem
color: red
@include kutu(5px, 2px)
.davar
@include kutu()
Css Ekran Çıktısı :
.stil {
font-size: 3rem;
color: red;
border: 5px solid #ddd;
border-radius: 5px;
padding: 2px;
}
.davar {
border: 1px solid #ddd;
border-radius: 5px;
padding: 5px;
}
Yorum yapabilmek için giriş yapmanız gerekmektedir.