Scss Hakkında Her şey
Merhaba size bugün bir ön derleyici bir dilin altyapısını öğreteceğim.
Scss, css’den farklı olarak birçok özelliğe sahiptir. Bunların başında bir programlama dili gibi içerisinde farklı şeylerin bulunması.

Nesting yapısı:
.div{
    .div1{
    }
}
// or 
header{
    nav{
        ul{
            li{
                a{
                }
            }
        }
    }
}& kullanımı:
h1{
    &:hover{
    }
    &#icon {
    }
}Mixin kullanımı:
@mixin func($ArkaplanRengi, $YaziBoyutu){
    background-color: $ArkaplanRengi;
    font-size: $YaziBoyutu;
}Include ile Mixin’ı kullanmak:
h1{
    @include func(red, 18px);
}% ile sabit kod kümesi oluşturmak:
%ornek{
    color: blue;
    padding: 15px;
}extend ile %’yi kullanmak:
h1{
    @extend %ornek;
}if yapısı:
@if $kosul {
   //code
} 
  
@else if $kosul {
   //code
}
@else {
   //code
}Değişken tanımlama:
$mavi: blue;
$headerSize: 20px;For kullanımı:
$result: 1;
$exponent: 5;
@for $_ from 1 through $exponent {
    $result: $result * 5;
 }Each kullanımı:
$sizes: 40px, 50px, 80px;
@each $size in $sizes {
  .icon-#{$size} {
    font-size: $size;
    height: $size;
    width: $size;
  }
}Function kullanımı:
@function responsiveText($size) {
  @return $size * 4;
}
// functionu çağırmak
font-size: responsiveText(10px);Bundan ötürü, sass ise şöyle bir sözdizimi (syntax) sunar:
h1
   font-size: 15px;Bu sözdiziminde, süslü parantezler bulunmaz. Aynı nodejs’deki pug gibi kullanımı mevcuttur.
Scss dosya yapısıda önemlidir. Bununla ilgili bir örnek verecek olursak eğer:
sass/
- main.scss
- /base
 _fonts.scss
 _mixins.scss
 _reset.scss
 _variables.scss
 _sprites.scss
- /components
 _modal.scss
 _navigation.scss
- /pages
 _home.scss
 _about.scss
- /layout
 _footer.scss
 _header.scss
 _layout.scss
- /vendors
 _colorpicker.scss
 _swiper.scss
Nasıl derleyeceğiz diyecek olursanız:
Vscode eklentisi Live Sass Compiler ile derleyebilirsiniz.
Ayrıca Ruby ile de bir derleyici ayarlayabilirsiniz. Ama bu benim tercih ettim bir şey değil.
Javascript derleyicileri kullanabilirsiniz. Gulp, Webpack, Parcel, Rollup, Vite gibi frontend araçları derleme yapabilirsiniz.
Bunların harici Nodejs’deki sass cli ile de derleyebilirsiniz.
Eğer bir frontend framework’ü kullanırsanız, react, vue veyahût svelte bunlar da pek bir ayara ihtiyacınız yok. Sadece npm i sass demeniz yeterli. Svelte buna istisna ama sadece onda da birkaç ufak ayar haricî hemen kullanabilirsiniz.
İyi kodlamalar!
Eğer bu yazı bozuk ise medium'daki blogtan düzgün formatına erişebilirsiniz: link
Yorumlar
Yorum Gönder